HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 与 RFC 4918 等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。所示的消息短语是典型的,但是可以提供任何可读取的替代方案。 除非另有说明,状态码是HTTP / 1.1标准(RFC 7231)的一部分。
1xx 消息
- 100 Continue 客户端应当继续发送请求。
- 101 Switching Protocols 服务端已经接受请求并update消息头通知客户端采用不同协议完成这个请求
- 102 Processing 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行
2xx 成功
- 200 OK, 表示从客户端发来的请求在服务器端被正确处理
- 201 Created
- 202 Accepted
- 203 Non-Authoritative Information
- 204 No Content, 表示请求成功,但响应报文不含实体的主体部分
- 205 Reset content
- 206 Partial Content,服务器已经成功处理了部分 GET 请求。类似于 FlashGet 或者迅雷这类的 HTTP下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载。
- 207 Multi-Status 由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。
3xx 重定向
- 300 Multiple Choices
- 301 Moved Permanently,永久性重定向,表示资源已被分配了新的 URL
- 302 Move Temporarily,临时性重定向,表示资源临时被分配了新的 URL
- 303 See Other,表示资源存在着另一个 URL,应使用 GET 方法丁香获取资源
- 304 Not Modified,表示服务器允许访问资源,但因发生请求未满足条件的情况
- 305 Use Proxy 被请求的资源必须通过指定的代理才能被访问。Location 域中将给出指定的代理所在的 URI 信息,接收者需要重复发送一个单独的请求,通过这个代理才能访问相应资源。只有原始服务器才能建立305响应。
- 306 Switch Proxy
- 307 temporary redirect,临时重定向,和302含义相同
4xx 客户端错误
- 400 bad request,请求报文存在语法错误
- 401 unauthorized,表示发送的请求需要有通过 HTTP 认证的认证信息
- 402 Payment Required 该状态码是为了将来可能的需求而预留的。
- 403 forbidden,表示对请求资源的访问被服务器拒绝
- 404 not found,表示在服务器上没有找到请求的资源
- 405 Method Not Allowed 请求行中指定的请求方法不能被用于请求相应的资源。该响应必须返回一个Allow 头信息用以表示出当前资源能够接受的请求方法的列表。
- 406 Not Acceptable 请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。
- 407 Proxy Authentication Required
- 408 Request Timeout
- 409 Conflict
- 410 Gone 被请求的资源在服务器上已经不再可用,而且没有任何已知的转发地址。这样的状况应当被认为是永久性的。
- 411 Length Required 服务器拒绝在没有定义 Content-Length 头的情况下接受请求。在添加了表明请求消息体长度的有效 Content-Length 头之后,客户端可以再次提交该请求。
- 412 Precondition Failed 服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个。这个状态码允许客户端在获取资源时在请求的元信息(请求头字段数据)中设置先决条件,以此避免该请求方法被应用到其希望的内容以外的资源上。
- 413 Request Entity Too Large 服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围。此种情况下,服务器可以关闭连接以免客户端继续发送此请求。
- 414 Request-URI Too Long 请求的URI 长度超过了服务器能够解释的长度,因此服务器拒绝对该请求提供服务。
- 415 Unsupported Media Type 对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝。
- 416 Requested Range Not Satisfiable 如果请求中包含了 Range 请求头,并且 Range 中指定的任何数据范围都与当前资源的可用范围不重合,同时请求中又没有定义 If-Range 请求头,那么服务器就应当返回416状态码。
- 417 Expectation Failed 在请求头 Expect 中指定的预期内容无法被服务器满足,或者这个服务器是一个代理服务器,它有明显的证据证明在当前路由的下一个节点上,Expect 的内容无法被满足。
- 421 Misdirected Request 请求被指向到无法生成响应的服务器(比如由于连接重复使用)
- 422 Unprocessable Entity 请求格式正确,但是由于含有语义错误,无法响应。(RFC 4918 WebDAV)
- 423 Locked 当前资源被锁定。(RFC 4918 WebDAV)
- 424 Failed Dependency 由于之前的某个请求发生的错误,导致当前请求失败,例如 PROPPATCH。(RFC 4918 WebDAV)
- 426 Upgrade Required 客户端应当切换到TLS/1.0。(RFC 2817)
5XX 服务器错误
- 500 internal sever error,表示服务器端在执行请求时发生了错误
- 501 Not Implemented 服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。
- 502 Bad Gateway 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
- 503 service unavailable,表明服务器暂时处于超负载或正在停机维护,无法处理请求
- 504 Gateway Timeout 作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。注意:某些代理服务器在DNS查询超时时会返回400或者500错误
- 505 HTTP Version Not Supported
- 506 Variant Also Negotiates 由《透明内容协商协议》(RFC 2295)扩展,代表服务器存在内部配置错误:被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一个合适的重点。
- 507 Insufficient Storage 服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。WebDAV (RFC 4918)
- 509 Bandwidth Limit Exceeded 服务器达到带宽限制。这不是一个官方的状态码,但是仍被广泛使用。
- 600 Unparseable Response Headers 源站没有返回响应头部,只返回实体内容。
参考:
https://blog.csdn.net/liouswll/article/details/80698619
https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin