HTTP 状态码速查

这里汇总接口和 CDN 里最常见的状态码,极少用的实验码未收录。

更新日期:

码名称含义
200OKSuccess with body
201CreatedResource created
204No ContentSuccess, empty body
301Moved PermanentlyPermanent redirect
302FoundTemporary redirect
304Not ModifiedUse cached copy
400Bad RequestClient request invalid
401UnauthorizedAuth required / failed
403ForbiddenAuthenticated but denied
404Not FoundNo such resource
405Method Not AllowedWrong HTTP method
408Request TimeoutClient too slow
409ConflictState conflict
410GonePermanently removed
422Unprocessable EntitySemantics invalid
429Too Many RequestsRate limited
500Internal Server ErrorServer fault
502Bad GatewayUpstream invalid
503Service UnavailableOverloaded / down
504Gateway TimeoutUpstream timeout

说明

状态码的五种类型

首位数字告诉你责任人以及大致发生了什么。1xx 是信息性响应,客户端很少见到。2xx 表示成功——200 是有内容的 OK,204 是无内容的 OK,206 表示部分下载。3xx 表示资源在别处。4xx 表示请求本身有误:语法错误、缺少凭证或触发限流。5xx 表示请求没问题但服务器失败了。只看首位数字,你就知道该修复客户端还是向服务端升级。

选择合适的重定向

301 和 308 都表示永久重定向;302 和 307 都表示临时重定向。区别在于如何处理请求方法:301 和 302 历史上允许客户端将 POST 转为 GET,而 307 和 308 会保留原始方法和请求体,这对 API 和表单提交很重要。对于真正永久迁移的 URL 使用 301,对于维护页面或 A/B 测试等临时路由使用 302 或 307。注意重定向链——每次额外跳转都会增加延迟并损失链接权重,因此请直接重定向到最终目标地址。

排查 4xx 错误

401 表示缺少或验证失败的身份认证,发送有效凭证即可解决;403 表示请求已理解并通过身份验证但被禁止,用相同凭证重试无效。404 表示资源不存在;410 表示资源曾经存在但已被有意删除。429 表示触达限流阈值,应退避并重试,同时遵守 Retry-After 头。400 通常表示输入格式错误,405 表示该方法不适用于该 URL,422 表示语法正确但内容校验失败。

解读 5xx 状态码

500 是通用内部错误;502 Bad Gateway 表示上游服务器返回了不可用的响应;503 表示服务暂时不可用或过载;504 表示上游超时。这些是服务端的问题而非调用方的问题,因此解决方案是退避重试、检查上游健康状况或削减负载。CDN 可能代表无法访问的源站在发出 502、503 或 504,这就是同一个错误可能来自两个截然不同地方的原因——查看 server 和 cache-status 头以确定是哪个来源。

状态码的实际应用:API 与缓存

两个日常使用场景值得留意。首先是缓存:带 Cache-Control 头的 200 响应可以被存储,304 Not Modified 告诉客户端复用本地副本,而 5xx 不应被缓存。其次是 API:创建资源的 POST 请求应返回 201 并附带 Location 头,DELETE 通常返回 204,未产生变化的 PATCH 可能返回 200 或 204。规范的客户端会先按大类(2xx、4xx、5xx)分支处理,然后再根据具体状态码细化,这使得重试和退避逻辑简单而可预测。

常见问题

HTTP 403 是什么意思?
403 表示服务器已理解(通常已认证)请求,但拒绝授权访问该资源。与 401 不同,重新登录也无法解决。
HTTP 301 和 302 重定向有什么区别?
301 表示资源永久迁移,客户端和搜索引擎此后应使用新地址;302 是临时重定向,原地址仍然有效。
HTTP 429 是什么意思?怎么解决?
429 表示请求过于频繁,触发了限流。应降低请求频率,并遵循服务器返回的 Retry-After 响应头。

参考来源