Skip to content

HTTP 状态码 详解

每个常见的 HTTP 响应状态码,按类别分组:含义与出现场景。HTTP 状态码工具的快速参考手册。

HTTP 状态码共享同一个模式:首位数字表示类别,其余是细节。1xx 表示信息提示,2xx 表示成功,3xx 表示重定向,4xx 表示客户端出错,5xx 表示服务器失败。先读首位数字。配套工具可以深入查询单个状态码。

55 of 55 rows
1xx 信息提示
Continue服务器已收到请求头,客户端可以发送请求体。上传大请求体之前完成预检之后。
Switching Protocols服务器同意切换到客户端请求的协议。将 HTTP 连接升级为 WebSocket。
Processing服务器已收到请求并仍在处理。WebDAV 服务器确认一个长请求,避免客户端超时。
Early Hints服务器在最终响应就绪之前先发送初步响应头。在页面仍在渲染时让浏览器预加载资源。
2xx 成功
OK请求成功,响应体携带结果。GET 或 PUT 的标准成功响应。
Created请求成功并创建了新资源。创建资源的 POST 成功后返回。
Accepted请求已被接受处理,但尚未完成。长时间运行的任务已启动并异步执行。
Non-Authoritative Information请求成功,但返回的数据在回程中被转换过。代理或缓存返回修改过的元数据而非源站的。
No Content请求成功,且没有可返回的响应体。DELETE 成功,或一个无需返回内容的 PUT。
Reset Content请求成功,客户端应重置发送该请求的视图。表单提交后,让页面清空自己的字段。
Partial Content服务器按请求只返回资源的一部分。为 Range 请求提供字节范围。
3xx 重定向
Moved Permanently资源有了永久的新 URL,后续请求应使用它。页面迁移,搜索引擎必须更新索引。
Found资源临时位于另一个 URL,但应继续使用原 URL。暂时重定向到登录页。
See Other答案在另一个 URL,必须用 GET 获取。PRG 模式:把 POST 重定向到结果页,刷新就不会重复提交。
Not Modified缓存副本仍然有效,因此服务器不发送响应体。客户端缓存是最新的条件 GET。
Use Proxy请求必须通过响应中指定的代理发送。传统代理网络;2011 年起已废弃。
Temporary Redirect资源临时在别处,且必须保留原始请求方法。类似 302,但重定向后 POST 仍是 POST。
Permanent Redirect资源有了永久的新 URL,且必须保留原始请求方法。类似 301,但重定向后 POST 仍是 POST。
4xx 客户端错误
Bad Request服务器因语法格式错误而无法理解请求。格式错误的 JSON,或缺少必填字段。
Unauthorized需要身份验证,而它缺失或失败了。没有令牌,或令牌无效或过期。
Payment Required请求需要付款,尽管规范从未定义如何付款。一些 API 用作付费墙标记;大多数从不使用。
Forbidden客户端已通过身份验证,但无权访问该资源。登录有效,但对该资源没有权限。
Not Found服务器在此 URL 上没有资源。未知 URL 或不存在的 ID。
Method Not AllowedURL 存在,但不允许所用的请求方法。向只接受 GET 的端点发 POST。
Not Acceptable服务器无法返回与客户端 Accept 头匹配的内容。客户端只要 XML,而 API 只返回 JSON。
Proxy Authentication Required客户端必须先向代理进行身份验证,请求才能继续。企业代理拒绝未经验证的请求。
Request Timeout客户端发送请求耗时过长,服务器放弃等待。请求体尚未传完就停滞的上传。
Conflict请求与资源的当前状态冲突。邮箱重复,或同一条记录上的编辑竞争。
Gone资源曾经存在,但已被永久移除。有意下线的端点,比 404 更明确。
Length Required请求需要 Content-Length 头,但没有提供。必须预先知道大小的服务器拒绝流式请求体。
Precondition FailedIf-Match 之类的头前置条件求值为假。客户端读取后记录已变更的乐观编辑。
Content Too Large请求体超过服务器接受的上限。超过服务器最大请求体大小的上传。
URI Too Long请求 URL 超过服务器愿意解析的长度。表单被意外序列化成不断增长的 GET 查询串。
Unsupported Media Type请求体格式不是该端点接受的类型。以 Content-Type text/plain 向只接受 JSON 的端点发 POST。
Range Not SatisfiableRange 头中的字节范围与资源不匹配。续传时请求超出文件末尾的字节。
Expectation Failed服务器无法满足 Expect 头中声明的期望。服务器拒绝履行的 100-continue 期望。
I'm a teapot服务器是一个茶壶,拒绝煮咖啡。1998 年愚人节玩笑,经久不衰;API 出于趣味返回它。
Misdirected Request请求被发送到无法为其产生响应的服务器。复用的连接被发送到该服务器不服务的主机。
Unprocessable Entity请求格式正确,但其值未通过语义校验。字段违反业务规则的有效 JSON。
Too Early服务器拒绝有重放风险的请求。在密钥轮换之前拒绝重试的非幂等请求。
Upgrade Required客户端必须切换到其他协议才能使用该资源。坚持要求 TLS 或 WebSocket 的端点。
Precondition Required服务器要求请求未携带的条件头。要求 If-Match 以防止更新丢失的 API。
Too Many Requests客户端在给定时间窗口内发送了过多请求。触发速率限制;退避后重试。
Request Header Fields Too Large一个或多个头字段大到服务器无法处理。不断增长直至阻塞对站点所有请求的 cookie 或令牌。
Unavailable For Legal Reasons资源因法律原因被封锁,例如下架令或地域限制。政府下架令,或在某一国家被封锁的页面。
5xx 服务器错误
Internal Server Error服务器遇到意外状况并失败。服务器上未处理的异常或缺陷。
Not Implemented服务器不支持所请求的方法或功能。端点已声明但尚未实现。
Bad Gateway网关或代理从上游服务器收到无效响应。反向代理无法连接后端。
Service Unavailable服务器暂时无法处理请求。维护、过载,或依赖的服务宕机。
Gateway Timeout网关或代理未能在时限内从上游服务器获得响应。后端耗时过长,代理放弃等待。
HTTP Version Not Supported服务器不支持请求中的 HTTP 版本。客户端使用服务器从未学过的协议版本。
Variant Also Negotiates透明内容协商以循环引用告终。进行实验性内容协商的配置错误的服务器。
Insufficient Storage服务器无法存储完成请求所需的表示。分配存储已满的 WebDAV 服务器。
Loop Detected服务器在处理请求时遇到无限循环。指回自身的 WebDAV 绑定。
Network Authentication Required客户端必须向网络进行身份验证才能获得访问权。酒店或机场的强制门户(captive portal)拦截请求。