HTTP 状态码用于表示服务器对 HTTP 请求的响应。以下是一份详细的状态码列表,包括它们的分类和意义。
1xx: 信息性状态码
这些状态码表示接收的请求正在处理。
- 100 Continue:客户端应继续发送请求的其余部分
- 101 Switching Protocols:请求者已要求服务器切换协议,服务器已确认并准备切换
- 102 Processing(WebDAV):服务器已接受并正在处理请求,但尚无响应可用
2xx: 成功
这类状态码表示请求已成功被服务器接收、理解,并接受。
- 200 OK:请求成功。成功的含义取决于请求的方法
- 201 Created:请求成功并且服务器创建了新的资源
- 202 Accepted:服务器已接受请求,但尚未处理
- 203 Non-Authoritative Information:服务器已成功处理请求,但返回的信息可能来自另一来源
- 204 No Content:服务器成功处理了请求,但没有返回任何内容
- 205 Reset Content:服务器成功处理了请求,但没有返回任何内容,并且要求请求者重置文档视图
- 206 Partial Content:服务器成功处理了部分 GET 请求
- 207 Multi-Status(WebDAV):消息体随后的消息包含独立的响应代码
- 208 Already Reported(WebDAV):DAV 绑定的成员已在之前的部分响应中枚举,不再包含后续的响应
3xx: 重定向
这类状态码表示客户端必须采取进一步的操作才能完成请求。
- 300 Multiple Choices:针对请求有多种选择
- 301 Moved Permanently:请求的网页已永久移动到新位置
- 302 Found:服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来以后的请求
- 303 See Other:请求者应当使用另一个 URI 获取资源
- 304 Not Modified:自上次请求后,请求的网页未被修改过
- 305 Use Proxy:请求者只能使用代理访问请求的网页
- 306 Unused:该状态码已不再使用,但曾被用作“后续请求应使用指定代理”
- 307 Temporary Redirect:服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来以后的请求
- 308 Permanent Redirect(实验性):请求和所有将来的请求应该重复使用另一个 URI
4xx: 客户端错误
这类状态码表示请求可能出错,妨碍了服务器的处理。
- 400 Bad Request:服务器不理解请求的语法
- 401 Unauthorized:请求要求身份验证。对于需要登录的网页,服务器可能返回此响应
- 402 Payment Required:预留的将来使用
- 403 Forbidden:服务器拒绝请求
- 404 Not Found:服务器找不到请求的网页
- 405 Method Not Allowed:禁用请求中指定的方法
- 406 Not Acceptable:无法使用请求的内容特性响应请求的网页
- 407 Proxy Authentication Required:此状态码类似于 401(未授权),但指定请求者应当授权使用代理
- 408 Request Timeout:服务器等候请求时发生超时
- 409 Conflict:请求在当前资源状态下无法完成
- 410 Gone:如果请求的资源已永久删除,服务器就会返回此响应
- 411 Length Required:服务器不接受不含有效内容长度标头字段的请求
- 412 Precondition Failed:服务器未满足请求中设置的其中一个前提条件
- 413 Request Entity Too Large:请求实体过大
- 414 Request-URI Too Long:请求的 URI 过长
- 415 Unsupported Media Type:请求的格式不受请求页面的支持
- 416 Requested Range Not Satisfiable:如果页面无法提供请求的范围,则服务器会返回此状态码
- 417 Expectation Failed:服务器未满足”期望”请求标头字段的要求
- 418 I'm a teapot(RFC 2324, April Fools' jokes):服务器拒绝尝试用咖啡壶煮咖啡
- 422 Unprocessable Entity(WebDAV):请求格式正确,但由于含有语义错误,无法响应
- 423 Locked(WebDAV):当前资源被锁定
- 424 Failed Dependency(WebDAV):由于之前的请求失败,导致当前请求失败
- 425 Unordered Collection(Internet草案):在草案阶段定义,未成为标准
- 426 Upgrade Required:客户端应切换到TLS/1.0
- 428 Precondition Required(草案):原始服务器要求该请求是有条件的
- 429 Too Many Requests(草案):用户在给定的时间内发送了太多的请求
- 431 Request Header Fields Too Large(草案):服务器不愿处理请求,因为头字段过大
- 444 No Response(Nginx):服务器返回无响应,用于拒绝处理恶意请求
- 449 Retry With(Microsoft):请求应该在执行完合适的操作后重试
- 450 Blocked by Windows Parental Controls(Microsoft):由 Windows 家长控制阻塞
- 451 Unavailable For Legal Reasons:该请求因法律原因不可用
- 499 Client Closed Request(Nginx):客户端在服务器准备响应时关闭请求
5xx: 服务器错误
这类状态码表示服务器尝试处理请求时发生内部错误。
- 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(RFC 2774):进一步扩展请求所需
- 511 Network Authentication Required:网络需要进行身份验证