HTTP常见异常状态码

HTTP状态码用于表示服务器对HTTP请求的响应。以下是常见的HTTP异常状态码及其详解:

一、1xx:信息性状态码

  • 100 Continue:服务器已接收到请求的一部分,并且客户端应继续发送请求的其余部分。
  • 101 Switching Protocols:服务器正在根据客户端的请求切换协议。例如,在WebSocket握手过程中,服务器会返回此状态码以确认协议切换。
  • 102 Processing(WebDAV):服务器已接受并正在处理请求,但尚无响应可用。这通常用于WebDAV(基于HTTP的分布式创作和版本控制)协议中。

二、2xx:成功状态码

虽然2xx状态码表示请求已成功处理和接受,但某些情况下也可能被视为异常,如:

  • 204 No Content:服务器成功处理了请求,但没有返回任何内容。这通常用于DELETE请求,表示资源已被成功删除,但无需返回任何响应体。

三、3xx:重定向状态码

  • 301 Moved Permanently:被请求的资源已经永久移动到新的位置。客户端应使用新的URI进行后续请求。
  • 302 Found:被请求的资源暂时移动到新的位置。这通常用于临时重定向,如用户登录后的页面跳转。
  • 304 Not Modified:自上次请求后,请求的网页未被修改过。客户端可以继续使用缓存的资源。

重定向状态码本身并不一定是异常,但如果重定向链不正确或导致无限重定向,则可能被视为问题。

四、4xx:客户端错误状态码

  • 400 Bad Request:服务器无法理解客户端的请求。这通常是由于请求格式错误、参数不正确或请求体过大导致的。
  • 401 Unauthorized:请求要求进行身份验证。客户端需要提供有效的身份凭证才能访问资源。
  • 403 Forbidden:服务器拒绝了请求,即使身份验证已成功。这通常是因为客户端没有足够的权限访问该资源。
  • 404 Not Found:服务器无法找到请求的资源。这通常是由于URL路径错误、资源不存在或权限不足导致的。
  • 405 Method Not Allowed:禁用请求中指定的方法。例如,当客户端尝试使用POST方法访问一个只允许GET方法的资源时,服务器会返回此状态码。
  • 406 Not Acceptable:无法使用请求的内容特性响应请求的网页。这通常是由于客户端请求的媒体类型不被服务器支持导致的。
  • 408 Request Timeout:服务器等候请求时发生超时。这通常是由于客户端发送请求后长时间未收到响应导致的。
  • 413 Payload Too Large:请求实体过大。这通常是由于客户端尝试上传的文件或数据超过了服务器允许的最大大小导致的。
  • 414 Request-URI Too Long:请求的URI过长。这通常是由于URL路径或查询参数过长导致的。
  • 415 Unsupported Media Type:请求的格式不受请求页面的支持。这通常是由于客户端发送的请求体格式不被服务器支持导致的。

五、5xx:服务器错误状态码

  • 500 Internal Server Error:服务器遇到错误,无法完成请求。这通常是由于服务器内部程序错误、数据库问题或配置错误导致的。
  • 501 Not Implemented:服务器不具备完成请求的功能。例如,当客户端请求一个服务器不支持的HTTP方法时,服务器会返回此状态码。
  • 502 Bad Gateway:服务器作为网关或代理,从上游服务器收到无效响应。这通常是由于上游服务器故障或网络问题导致的。
  • 503 Service Unavailable:服务器当前无法处理请求,通常是因为过载或维护。这通常是一个临时状态,客户端可以在稍后重试请求。
  • 504 Gateway Timeout:服务器作为网关或代理,但没有及时从上游服务器收到请求。这通常是由于上游服务器响应超时导致的。

六、特殊状态码

  • 418 I'm a teapot(RFC 2324, April Fools' jokes):这是一个非官方的、仅用于娱乐的状态码。它表示服务器拒绝尝试用咖啡壶煮咖啡。虽然这不是一个真正的错误状态码,但它被包含在RFC 2324文档中作为一个愚人节笑话。
相关推荐
寻星探路3 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
王达舒19943 小时前
HTTP vs HTTPS: 终极解析,保护你的数据究竟有多重要?
网络协议·http·https
朱皮皮呀3 小时前
HTTPS的工作过程
网络协议·http·https
Binary-Jeff3 小时前
一文读懂 HTTPS 协议及其工作流程
网络协议·web安全·http·https
惊讶的猫16 小时前
OpenFeign(声明式HTTP客户端)
网络·网络协议·http·微服务·openfeign
摇滚侠17 小时前
HTTP 404 - No response body available
网络·网络协议·http
Trouvaille ~17 小时前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
一晌小贪欢20 小时前
深入理解 Python HTTP 请求:从基础到高级实战指南
开发语言·网络·python·网络协议·http
liulovesong1 天前
2024/06/21/第三天
http·echarts
win x2 天前
深入理解HTTPS协议加密流程
网络协议·http·https