HTTP的错误响应码

响应码分类

4xx:客户端出现错误

  • 400 Bad Request :服务器认为客户端出现了错误,但不能明确以下哪种错误时使用此错误码。例如HTTP请求格式错误
  • 401 Unauthorized:用户认证信息缺失或者不正确,导致服务器无法处理请求
  • 407 Proxy Authentication Required:对需要经由代理的请求,认证信息未通过代理服务器的验证
  • 403 Forbidden:服务器理解请求的含义,但没有权限执行此请求
  • 404 Not Found:服务器没有找到对应的资源
  • 410 Gone:服务器没有找到对应的资源,且明确知道该位置永久性找不到该资源
  • 405 Method Not Allowed:服务器不支持请求行中的method方法
  • 406 Not Acceptable:对客户端指定的资源表述不存在(例如对语言或者编码有要求),服务器返回表述列表供客户端选择
  • 408 Request Timeout:服务器接收请求超时
  • 409 Conflict:资源冲突,例如上传文件时目标位置已经存在更新的资源
  • 411 Length Required:如果请求含有包体且未携带 Content-Length 头部,且不属于 chunk (分块传输编码)类请求时,返回411
  • 412 Precondition Failed:复用缓存时传递的 If-Unmodified-Since 或 If-None-Match 头部不被满足
  • 413 Payload Too Large / Request Entity Too Large:请求的包体超出服务器能处理的最大长度
  • 414 URI Too Long :请求的 URI 超出服务器能接受的最大长度
  • 415 Unsupported Media Type:上传的文件类型不被服务器支持
  • 416 Range Not Satisfiable:无法提供 Range 请求中指定的那段包体。例如文件只有100m,但是我们请求的1G-2G的文件内容。
  • 417 Expection Failed:对于 Expect 请求头部期待的情况无法满足时的响应码
  • 426 Upgrade Required:服务器拒绝基于当前 HTTP 协议提供服务,通过 Upgrade 头部告知客户端必须升级协议才能继续处理
  • 428 Precondition Required:用户请求中缺失了条件头部,例如 If-Match 
  • 429 Too Many Request:客户端发起的请求速率过快
  • 431 Request Header Fields Too Large:请求的 HEADER 头部大小超过限制
  • 451 Unavailable For Legal Reasons:RFC7725,由于法律原因资源不可访问

5xx:服务器端出现错误

  • 500 Internal Server Error:服务器内部出现错误,且不属于以下类型
  • 501 Not Implemented:服务器不支持实现请求所需要的功能
  • 502 Bad Gateway:代理服务器无法获取合法响应
  • 503 Service Unavailable:服务器资源尚未准备好处理当前请求,例如服务器端做请求的限速,对用户IP做并发的连接的限制,当达到上限的时候都有可能发生
  • 504 Gateway Timeout:代理服务器无法及时的从上游获得响应。(可能时代理服务器的超时时间设置的过小)
  • 505 HTTP Version Not Supported:请求的HTTP协议版本不支持
  • 507 Insufficient Storage:服务器没有足够的空间处理请求(但是已经暴漏服务器的内部问题,一般不会被我们看见)
  • 508 Loop Detected:访问资源时检测到循环(循环已经到了最大的次数)
  • 511 Network Authentication Required:代理服务器发现客户端需要进行身份验证才能获得网络访问权限,如机场,网吧常见到这样的场景

所有响应码遵循的响应规则:当客户端接收到了一个它不认识的响应码,不知道如何处理时,将按照他们所在系列的100,200,300,400,500的处理逻辑。

原文地址:https://www.cnblogs.com/fengxiaoyuan/p/10960243.html