| 100 | Continue (1xx) | 服务器已读取请求头,客户端可以发送请求体。 | 作为对 `Expect: 100-continue` 的回复发送;通常对用户不可见。 |
| 101 | Switching Protocols (1xx) | 服务器同意按客户端请求切换协议。 | 当连接升级为长连接通道,或在 HTTP/2 上出现。 |
| 102 | Processing (1xx) | 服务器仍在处理,因此慢请求不会超时。 | 一种 WebDAV 约定;多数服务器会跳过。 |
| 103 | Early Hints (1xx) | 在响应体仍在准备时,部分响应头先到达。 | 服务器和 CDN 用它把 Link 提示(preload)在真正的 200 之前发出。 |
| 200 | OK (2xx) | 请求成功,响应携带请求所要的内容。 | 最常见的代码;值得确认 Content-Type 与请求的内容一致。 |
| 201 | Created (2xx) | 请求创建了新资源,其位置在 Location 响应头里。 | 查找指向新资源的 Location 响应头。 |
| 202 | Accepted (2xx) | 请求已被接受处理,但工作尚未完成。 | 常见于队列;如果响应里有状态 URL,就轮询它。 |
| 203 | Non-Authoritative Information (2xx) | 回复来自副本,而不是源服务器。 | 少见;代理和中间层在转换响应时使用。 |
| 204 | No Content (2xx) | 成功了,但没有内容要返回。 | DELETE 或保存的成功响应体;不要期待正文。 |
| 205 | Reset Content (2xx) | 类似 204,页面应清空发送请求的表单。 | 少见;告诉浏览器重置当前文档。 |
| 206 | Partial Content (2xx) | 服务器发送了 Range 请求头所要求的那部分资源。 | 出现在可续传下载和视频拖动中,带 Content-Range 响应头。 |
| 207 | Multi-Status (2xx) | 多个操作已执行,响应体报告每个操作的状态。 | WebDAV;读取响应体里逐项的状态。 |
| 226 | IM Used (2xx) | 服务器在发送响应前应用了实例操作。 | 非常少见,与增量编码有关;几乎没人会看到。 |
| 300 | Multiple Choices (3xx) | 这个 URI 有多种表示,必须选择一种。 | 今天很少见;客户端通常直接跟随第一个选择。 |
| 301 | Moved Permanently (3xx) | 资源有了新的永久 URI。 | 检查 Location 中的目标;本应更新却没更新的旧 URL 会指到这里。 |
| 302 | Found (3xx) | 资源临时位于另一个 URI。 | 历史上也是重定向;检查 Location,如果客户端 URL 有误就修正。 |
| 303 | See Other (3xx) | 结果在别处,应该用 GET 获取。 | 在 POST 后用于 post-redirect-get 模式,指向新页面。 |
| 304 | Not Modified (3xx) | 缓存副本仍然有效;直接发送它,不需要正文。 | 对 If-None-Match / If-Modified-Since 的有效往返;没有要修的东西。 |
| 305 | Use Proxy (3xx) | 已被 RFC 9110 废弃,不得发送。 | 只出现在老旧或配置错误的服务器上;没有需要遵守的内容。 |
| 306 | Unused (3xx) | 保留,从未分配给真实代码。 | 不应出现;它存在只是为了让这个编号有记录。 |
| 307 | Temporary Redirect (3xx) | 类似 302,但方法不能改变。 | 在临时迁移期间必须保持 POST 的 POST 请求。 |
| 308 | Permanent Redirect (3xx) | 类似 301,但方法不能改变。 | 当书签或链接指向这里时,把它们更新到新 URI。 |
| 400 | Bad Request (4xx) | 服务器无法读取请求:语法、响应头或分帧格式有误。 | 重放完全相同的请求;错误的响应头、正文或编码是常见原因。 |
| 401 | Unauthorized (4xx) | 缺少认证,或凭据被拒绝。 | 读取 WWW-Authenticate 响应头,然后检查凭据及其有效期。 |
| 402 | Payment Required (4xx) | 保留给未来的付费访问要求。 | 实际中未使用;通常不会在野外看到。 |
| 403 | Forbidden (4xx) | 服务器理解请求,但拒绝执行。 | 检查授权规则、IP 与防火墙封禁,以及文件权限。 |
| 404 | Not Found (4xx) | 请求的 URI 上没有资源存在。 | 检查路径、API 路由,以及对象是否仍然存在。 |
| 405 | Method Not Allowed (4xx) | URI 存在,但不支持这个方法。 | 读取 Allow 响应头,看看端点接受什么。 |
| 406 | Not Acceptable (4xx) | 服务器无法生成匹配 Accept 响应头的表示。 | 服务器只提供 HTML 时却请求 JSON,或反过来。 |
| 407 | Proxy Authentication Required (4xx) | 要求认证的是代理,而不是源服务器。 | 修正代理凭据;Proxy-Authenticate 响应头会说明认证方案。 |
| 408 | Request Timeout (4xx) | 客户端发送请求花的时间太长。 | 上传缺失或停滞;通常是客户端或网络侧,而不是服务器。 |
| 409 | Conflict (4xx) | 请求与资源当前状态冲突。 | 版本控制或乐观锁系统的典型情况;先改变状态再重试。 |
| 410 | Gone (4xx) | 资源曾经存在,现在已被有意移除。 | 对已删除和已下线的内容是正确的;搜索引擎随后可能会移除该 URL。 |
| 411 | Length Required (4xx) | 需要 Content-Length 响应头,但缺失。 | 当服务器要求时补上这个头。 |
| 412 | Precondition Failed (4xx) | 条件响应头(If-Match、If-Unmodified-Since)失败。 | 资源在客户端取得副本后发生了变化;重新获取再重试。 |
| 413 | Content Too Large (4xx) | 请求体大于服务器愿意接受的大小。 | 提高上传上限或拆分载荷;检查服务器和代理的限制。 |
| 414 | URI Too Long (4xx) | 请求目标对服务器来说太长。 | 把大数据放进正文而不是 URL;也检查过长的链接链。 |
| 415 | Unsupported Media Type (4xx) | 正文的 Content-Type 不是服务器能处理的类型。 | 发送 API 文档规定的类型,例如 application/json 或 multipart/form-data。 |
| 416 | Range Not Satisfiable (4xx) | Range 响应头无法被满足。 | 你请求的范围超过了文件末尾;检查 Content-Range 里的有效边界。 |
| 417 | Expectation Failed (4xx) | Expect 响应头无法被满足。 | 客户端要求了服务器拒绝的预期;去掉 Expect 再测试。 |
| 418 | I’m a teapot (4xx) | 愚人节玩笑响应:服务器拒绝在茶壶里煮咖啡。 | 一个文化梗,不是要修的东西;有些 lint 工具把它当作检查。 |
| 421 | Misdirected Request (4xx) | 请求发到了不该服务这个主机的服务器。 | SNI、主机路由或负载均衡问题;连接打到了错误的虚拟主机。 |
| 422 | Unprocessable Content (4xx) | 语法没问题,但内容在语义上是错的。 | 校验失败的信息在响应体里;读取字段消息。 |
| 423 | Locked (4xx) | 资源被锁定,无法对请求执行操作。 | WebDAV 和版本化系统;释放锁再重试。 |
| 424 | Failed Dependency (4xx) | 一个相关请求失败了,所以这个请求无法执行。 | WebDAV;先修复依赖再重试。 |
| 425 | Too Early (4xx) | 服务器拒绝可能是重放的请求。 | TLS 1.3 早期数据的一部分;在安全时重试请求。 |
| 426 | Upgrade Required (4xx) | 客户端应切换到 Upgrade 响应头指定的协议。 | 老客户端面对需要更新协议的服务器,例如 HTTP/2。 |
| 428 | Precondition Required (4xx) | 这个资源要求条件请求。 | 源服务器需要 If-Match;为写操作加上前置条件。 |
| 429 | Too Many Requests (4xx) | 已达到速率限制;客户端发送得太快。 | 遵守 Retry-After,然后修复客户端的限流。 |
| 431 | Request Header Fields Too Large (4xx) | 请求头超过了服务器的限制。 | Cookie 或响应头块变得太大;精简它或提高服务器限制。 |
| 451 | Unavailable For Legal Reasons (4xx) | 资源因法律原因被扣留。 | 响应体会说明相关法律(RFC 7725);这不是基础设施故障。 |
| 500 | Internal Server Error (5xx) | 服务器在处理请求时出了问题。 | 先从服务器和应用日志开始;响应体可能指出异常。 |
| 501 | Not Implemented (5xx) | 服务器不支持所用的方法。 | 服务器老旧或功能极简;读一读它实际实现了哪些方法。 |
| 502 | Bad Gateway (5xx) | 上游服务器返回了无效内容。 | 越过代理往上看:某个上游正在崩溃、超时或返回垃圾。 |
| 503 | Service Unavailable (5xx) | 服务器过载或正在维护。 | 有 Retry-After 时遵守它;扩容或修复导致故障的原因。 |
| 504 | Gateway Timeout (5xx) | 上游没有及时应答。 | 类似 502,但这里是超时;检查缓慢的上游查询和代理超时。 |
| 505 | HTTP Version Not Supported (5xx) | 所使用的 HTTP 版本不受支持。 | 老服务器或异常客户端;几乎总是协议或代理不匹配。 |
| 506 | Variant Also Negotiates (5xx) | 内容协商中的服务器配置错误。 | 协商循环里的配置 bug;修正服务器配置。 |
| 507 | Insufficient Storage (5xx) | 服务器无法存储所要求的内容。 | WebDAV 和存储后端的磁盘或配额已满;释放空间再重试。 |
| 508 | Loop Detected (5xx) | 检测到无限处理循环。 | WebDAV;服务器内部处理中存在循环引用。 |
| 510 | Not Extended (5xx) | 请求需要服务器不支持的扩展。 | 非常少见,多半是遗留的 WebDAV 产物。 |
| 511 | Network Authentication Required (5xx) | 网络本身要求认证。 | 强制门户:登录网络,而不是应用。 |