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文档中作为一个愚人节笑话。
相关推荐
Knight_AL6 小时前
WebRTC / HLS / HTTP-FLV 的本质区别与选型指南
网络协议·http·webrtc
程序猿编码8 小时前
高性能HTTP服务压测工具:设计思路与实现原理(C/C++代码实现)
c语言·网络·c++·网络协议·tcp/ip·http
YYYing.13 小时前
【计算机网络 | 第十一篇】计网之应用层(二)—— 万字解析 + 图解DNS、DHCP、HTTP2.0/3.0
网络·网络协议·计算机网络·http
Mcband14 小时前
OpenFeign - 底层原理揭秘:动态代理 + HTTP 客户端如何工作
网络·网络协议·http
阿钱真强道15 小时前
06 thingsboard-ubuntu20-rk3588-连通性-测试 MQTT HTTP COAP
网络·物联网·网络协议·http
捧 花1 天前
HTTP的补充
http·cookie·session·http缓存·工作流程
头发还没掉光光1 天前
HTTP协议从基础到实战全解析
linux·服务器·网络·c++·网络协议·http
budingxiaomoli1 天前
HTTP协议
网络·网络协议·http
你这个代码我看不懂1 天前
Spring Boot拦截Http请求设置请求头
spring boot·后端·http
Anthony_2312 天前
五、交换技术与VLAN
服务器·网络·网络协议·http·https·udp·信息与通信