HTTP 状态码详解:从 1xx 到 5xx 全面解析

HTTP 状态码是服务器返回给客户端的一种信息,用于描述请求的处理结果。根据状态码的不同,我们可以知道请求是否成功、服务器发生了什么错误,以及如何处理请求。

本文将对所有 HTTP 状态码进行详细解析,并解释它们的含义和应用场景。

1xx Informational

1xx 状态码用于指示请求已经被接收,继续处理。

  • 100 Continue:服务器已收到请求的一部分,并要求客户端继续发送剩余的请求。
  • 101 Switching Protocols:服务器已同意客户端切换协议。
  • 102 Processing:服务器已接收到请求,正在处理中,但尚未完成。
  • 103 Early Hints:服务器可以提前发送一些信息,例如响应头,以便客户端可以提前开始准备。

2xx Success

2xx 状态码用于指示请求已经成功处理。

  • 200 OK:请求已成功处理,并返回了请求的资源。
  • 201 Created:请求已成功处理,并创建了新的资源。
  • 202 Accepted:请求已成功接收,但尚未处理。
  • 203 Non-Authoritative Information:请求已成功处理,但服务器没有权威的信息。
  • 204 No Content:请求已成功处理,但服务器没有返回内容。
  • 205 Reset Content:请求已成功处理,并要求客户端重置内容。
  • 206 Partial Content:请求已成功处理,但服务器只返回了部分内容。
  • 207 Multi-Status:请求已成功处理,但返回了多个状态信息。
  • 208 Already Reported:请求已成功处理,但服务器已经报告了信息。
  • 226 IM Used:请求已成功处理,并使用了一些已缓存的资源。

3xx Redirection

3xx 状态码用于指示客户端需要进行重定向。

  • 300 Multiple Choices:服务器有多个资源可供选择,客户端可以选择其中一个。
  • 301 Moved Permanently:请求的资源已永久移动到新的位置。
  • 302 Found:请求的资源已暂时移动到新的位置。
  • 303 See Other:请求的资源应该使用 GET 方法访问。
  • 304 Not Modified:请求的资源没有修改,客户端可以使用缓存中的资源。
  • 305 Use Proxy:请求的资源只能通过代理访问。
  • 306 Switch Proxy:已废弃。
  • 307 Temporary Redirect:请求的资源已暂时移动到新的位置。
  • 308 Permanent Redirect:请求的资源已永久移动到新的位置。

4xx Client Error

4xx 状态码用于指示客户端的请求存在错误。

  • 400 Bad Request:客户端请求有语法错误。
  • 401 Unauthorized:客户端没有授权访问资源。
  • 402 Payment Required:需要付费才能访问资源。
  • 403 Forbidden:客户端被禁止访问资源。
  • 404 Not Found:请求的资源不存在。
  • 405 Method Not Allowed:请求的 HTTP 方法不被允许。
  • 406 Not Acceptable:客户端无法接受服务器返回的资源类型。
  • 407 Proxy Authentication Required:需要通过代理进行授权才能访问资源。
  • 408 Request Timeout:客户端请求超时。
  • 409 Conflict:请求无法完成,因为资源冲突。
  • 410 Gone:请求的资源已不再可用。
  • 411 Length Required:需要提供内容长度才能完成请求。
  • 412 Precondition Failed:请求没有满足服务器的条件。
  • 413 Payload Too Large:请求的资源过大。
  • 414 URI Too Long:请求的 URI 过长。
  • 415 Unsupported Media Type:请求的资源类型不受支持。
  • 416 Range Not Satisfiable:客户端请求的资源范围无法满足。
  • 417 Expectation Failed:请求中的期望值无法满足。
  • 418 I'm a teapot:服务器是茶壶,不能处理请求。
  • 421 Misdirected Request:客户端请求被错误地发送到了服务器。
  • 422 Unprocessable Entity:请求的资源无法处理。
  • 423 Locked:请求的资源被锁定。
  • 424 Failed Dependency:请求依赖于其他请求,但其他请求失败了。
  • 425 Too Early:客户端尝试请求资源,但服务器尚未准备好。
  • 426 Upgrade Required:客户端需要升级协议才能完成请求。
  • 428 Precondition Required:需要满足条件才能完成请求。
  • 429 Too Many Requests:客户端发送的请求太多。
  • 431 Request Header Fields Too Large:请求头字段过大。
  • 444 Connection Closed Without Response:服务器关闭了连接,没有返回响应。
  • 451 Unavailable For Legal Reasons:由于法律原因,资源不可用。
  • 499 Client Closed Request:客户端关闭了连接。

5xx Server Error

5xx 状态码用于指示服务器端发生错误。

  • 500 Internal Server Error:服务器内部发生错误。
  • 501 Not Implemented:服务器不支持请求的 HTTP 方法。
  • 502 Bad Gateway:服务器作为网关或代理服务器,无法完成请求。
  • 503 Service Unavailable:服务器暂时不可用。
  • 504 Gateway Timeout:服务器作为网关或代理服务器,请求超时。
  • 505 HTTP Version Not Supported:服务器不支持请求的 HTTP 版本。
  • 506 Variant Also Negotiates:服务器内部配置错误。
  • 507 Insufficient Storage:服务器没有足够的存储空间。
  • 508 Loop Detected:服务器检测到循环引用。
  • 510 Not Extended:服务器不支持请求的功能。
  • 511 Network Authentication Required:客户端需要进行网络认证才能访问资源。
  • 599 Network Connect Timeout Error:服务器连接到上游服务器超时。

总结

HTTP 状态码是理解 HTTP 请求响应过程的关键信息。通过分析状态码,我们可以快速定位请求失败的原因,并采取相应的措施来解决问题。希望本文能够帮助你更好地理解和应用 HTTP 状态码。

HTTP 状态码详解:从 1xx 到 5xx 全面解析

原文地址: https://www.cveoy.top/t/topic/nrTL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录