HTTP 状态码详解及场景指南
本表覆盖 RFC 标准状态码及常用扩展(如 WebDAV),包含 60+ 条目,重点标注高频场景(如 200/404/500)。主要依据 RFC 9110、RFC 4918(WebDAV)等协议,如需完整技术细节可访问 MDN HTTP 状态码文档 或阅读 RFC 原文。
PS:状态码有点多,整理不易;如有错漏,请留言指证。
| 状态码 | 名称 | 说明 |
|---|---|---|
| 1xx(信息响应) | 请求已接收需后续操作 | |
| 100 | Continue | 客户端应继续发送请求体(常用于分块请求) |
| 101 | Switching Protocols | 服务器同意切换协议(如升级到 WebSocket) |
| 102 | Processing | 服务器继续处理请求(WebDAV 扩展) |
| 103 | Early Hints | 服务器在正式响应前发送部分提示(用于预加载资源) |
| 2xx(成功) | 请求处理成功 | |
| 200 | OK | 请求成功处理并返回资源(GET/POST 常用) |
| 201 | Created | 资源创建成功(常见于 POST/PUT) |
| 202 | Accepted | 请求已接受但未处理完成 |
| 203 | Non-Authoritative Information | 返回的元数据来自副本而非原始服务器 |
| 204 | No Content | 无返回内容(常用于 DELETE 或更新操作) |
| 205 | Reset Content | 要求客户端重置文档视图(如清除表单) |
| 206 | Partial Content | 成功处理部分 GET 请求(支持断点续传) |
| 207 | Multi-Status | 批量操作结果(WebDAV 扩展,返回 XML 格式多状态) |
| 3xx(重定向) | 需客户端额外操作 | |
| 300 | Multiple Choices | 资源存在多个可选地址 |
| 301 | Moved Permanently | 资源永久重定向到新 URI |
| 302 | Found | 资源临时重定向(建议继续使用原 URI) |
| 303 | See Other | 强制客户端用 GET 方法访问新 URI |
| 304 | Not Modified | 客户端缓存资源未修改(节省带宽) |
| 307 | Temporary Redirect | 临时重定向且保持请求方法不变(比 302 更严格) |
| 308 | Permanent Redirect | 永久重定向且保持请求方法不变(比 301 更安全) |
| 4xx(客户端错误) | 请求存在语法或逻辑错误 | |
| 400 | Bad Request | 请求语法错误或参数无效(如 JSON 格式错误) |
| 401 | Unauthorized | 需身份认证(如未登录) |
| 402 | Payment Required | 预留状态(未来可能用于支付场景) |
| 403 | Forbidden | 权限不足(如访问他人私有文件) |
| 404 | Not Found | 资源不存在(URL 错误或已删除) |
| 405 | Method Not Allowed | HTTP 方法不被允许(如用 GET 访问仅支持 POST 的接口) |
| 406 | Not Acceptable | 服务端无法生成客户端接受的内容类型 |
| 408 | Request Timeout | 客户端未在指定时间内完成请求 |
| 409 | Conflict | 请求与资源当前状态冲突(如重复提交订单) |
| 410 | Gone | 资源永久删除且无转发地址 |
| 411 | Length Required | 缺失 Content-Length 头(如分块上传未启用时) |
| 412 | Precondition Failed | If-Match/If-Unmodified-Since 等条件头校验失败 |
| 413 | Payload Too Large | 请求数据超过服务器限制(如上传超大文件) |
| 414 | URI Too Long | URL 长度超过服务器限制 |
| 415 | Unsupported Media Type | 请求的媒体类型不受支持(如上传非 JPEG 图片) |
| 416 | Range Not Satisfiable | 请求范围超出资源实际大小(如视频请求超出总时长) |
| 417 | Expectation Failed | Expect头无法满足(如要求100 Continue但直接拒绝请求) |
| 429 | Too Many Requests | 请求频率过高(触发限流) |
| 451 | Unavailable For Legal Reasons | 因法律原因拒绝访问(如地区内容审查) |
| 5xx(服务器错误) | 服务器处理请求失败 | |
| 500 | Internal Server Error | 服务器内部错误(如代码异常) |
| 501 | Not Implemented | 服务器不支持请求功能(如不支持的 HTTP 方法) |
| 502 | Bad Gateway | 网关服务器收到无效响应(如反向代理配置错误) |
| 503 | Service Unavailable | 服务不可用(维护或过载) |
| 504 | Gateway Timeout | 网关未及时收到上游服务器响应 |
| 505 | HTTP Version Not Supported | 服务器不支持请求的 HTTP 协议版本 |
| 507 | Insufficient Storage | 服务器存储空间不足(WebDAV 扩展) |
| 508 | Loop Detected | 服务器处理请求时检测到无限循环(WebDAV 扩展,如符号链接递归) |
| 511 | Network Authentication Required | 需网络认证(如公共 WiFi 强制登录页面) |
| 其他特殊状态码 | ||
| 418 | I'm a teapot | 彩蛋状态码(RFC 2324 定义的玩笑响应) |
| 600 | No Response Headers | 非标准状态码(Cloudflare 自定义,源站未返回响应头) |