HTTP 响应状态码由三位数字组成,用于表示服务器对客户端请求的处理结果。以下是完整的分类和常见状态码详解,按 RFC 9110(HTTP语义)标准整理:
表示请求已被接收,需要继续处理。
- 100 Continue:客户端应继续发送请求体(用于Expect: 100-continue
场景)。
- 101 Switching Protocols:服务器同意升级协议(如WebSocket)。
- 102 Processing(WebDAV):服务器正在处理请求,但尚未完成。
- 103 Early Hints:预加载资源提示(与Link
头部配合使用)。
表示请求已成功处理。 - 200 OK:标准成功响应(GET/PUT/POST等)。 - 201 Created:资源创建成功(如POST返回新资源的URI)。 - 202 Accepted:请求已接受但未处理完成(异步任务)。 - 203 Non-Authoritative Info:代理服务器修改了原始响应。 - 204 No Content:响应无正文(如DELETE请求)。 - 205 Reset Content:要求客户端重置视图(如表单提交后清空)。 - 206 Partial Content:分块响应(用于Range请求或大文件下载)。 - 207 Multi-Status(WebDAV):多资源状态报告。 - 208 Already Reported(WebDAV):资源状态已重复报告。
表示需要客户端进一步操作以完成请求。 - 300 Multiple Choices:多选项重定向(罕见)。 - 301 Moved Permanently:资源永久迁移(SEO权重转移)。 - 302 Found(原302 Moved Temporarily):临时重定向(方法可能变为GET)。 - 303 See Other:强制用GET访问新URI(POST后显示结果页)。 - 304 Not Modified:资源未修改(缓存生效)。 - 305 Use Proxy(已废弃):要求使用代理。 - 307 Temporary Redirect:临时重定向(严格保持原方法)。 - 308 Permanent Redirect:永久重定向(严格保持原方法)。
表示客户端请求有误。
- 400 Bad Request:通用错误(如参数格式错误)。
- 401 Unauthorized:未认证(需提供WWW-Authenticate
头部)。
- 402 Payment Required(保留未使用)。
- 403 Forbidden:无权限访问(与401的区别是身份已知但无权)。
- 404 Not Found:资源不存在或隐藏。
- 405 Method Not Allowed:方法不被支持(响应含Allow
头部)。
- 406 Not Acceptable:服务端无法满足客户端要求的格式(如Accept头部)。
- 407 Proxy Auth Required:代理服务器要求认证。
- 408 Request Timeout:服务器等待请求超时。
- 409 Conflict:资源状态冲突(如并发修改)。
- 410 Gone:资源永久删除(比404更明确)。
- 411 Length Required:需Content-Length
头部。
- 412 Precondition Failed:不满足请求头部的条件(如If-Match
)。
- 413 Payload Too Large:请求体过大。
- 414 URI Too Long:URL超长(通常超过2KB)。
- 415 Unsupported Media Type:不支持的媒体类型(如上传文件格式错误)。
- 416 Range Not Satisfiable:请求范围无效(如文件只有100字节但请求Range: 200-300)。
- 417 Expectation Failed:无法满足Expect
请求头。
- 418 I'm a teapot(彩蛋):来自RFC 2324,实际不会使用。
- 421 Misdirected Request:请求被发送到错误的服务器(HTTP/2)。
- 422 Unprocessable Entity(WebDAV):语义错误(如XML格式正确但内容无效)。
- 423 Locked(WebDAV):资源被锁定。
- 424 Failed Dependency(WebDAV):前置操作失败。
- 425 Too Early:服务器拒绝处理可能重放的请求(用于防重放攻击)。
- 426 Upgrade Required:要求协议升级(如HTTP到HTTPS)。
- 428 Precondition Required:要求条件请求(如If-Match
)。
- 429 Too Many Requests:请求速率限制(配合Retry-After
)。
- 431 Request Header Fields Too Large:请求头过大。
- 451 Unavailable For Legal Reasons:因法律原因不可访问(如政府审查)。
表示服务器处理请求时出错。
- 500 Internal Server Error:通用服务器错误(如代码异常)。
- 501 Not Implemented:不支持请求的功能(如未知方法)。
- 502 Bad Gateway:网关或代理从上游服务器收到无效响应。
- 503 Service Unavailable:服务不可用(如过载或维护)。
- 504 Gateway Timeout:网关或代理等待上游服务器超时。
- 505 HTTP Version Not Supported:不支持的HTTP版本。
- 506 Variant Also Negotiates:内容协商循环(服务器配置错误)。
- 507 Insufficient Storage(WebDAV):存储空间不足。
- 508 Loop Detected(WebDAV):操作循环(如无限重定向)。
- 510 Not Extended:需扩展请求(配合Expect
头部)。
- 511 Network Auth Required:要求网络认证(如公共WiFi登录页)。
掌握这些状态码能精准定位问题,尤其在调试API或排查爬虫问题时非常关键。