以下是HTTP状态码的全部完整列表,包括它们各自的含义和简要描述:
1xx 信息性状态码
- 100 Continue
- 客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。
- 101 Switching Protocols
- 服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。
- 102 Processing (WebDAV)
- 处理将被继续执行。
- 103 Early Hints (RFC 8297)
- 用来表示在最终响应之前,服务器已经准备了一些提示信息,这些提示信息通常会被浏览器用来优化加载速度。
2xx 成功状态码
- 200 OK
- 请求已成功,请求所希望的响应头或数据体将随此响应返回。
- 201 Created
- 请求已经被实现,而且有一个新的资源已经依据请求的需要而建立。
- 202 Accepted
- 服务器已接受请求,但尚未处理。
- 203 Non-Authoritative Information
- 请求已成功处理,但返回的元信息(meta-information)不在原始的服务器上,而是一个副本。
- 204 No Content
- 服务器成功处理了请求,但不需要返回任何实体内容。
- 205 Reset Content
- 服务器成功处理了请求,且没有返回任何内容。但是与204响应不同,此响应要求请求者重置文档视图(例如,清除表单内容以准备重新输入)。
- 206 Partial Content
- 服务器已经成功处理了部分GET请求。
- 207 Multi-Status (WebDAV)
- 消息体包含了一个XML消息,该消息描述了针对给定URI集合的多个响应的状态。
- 208 Already Reported (WebDAV)
- 用来在DAV绑定操作中,表示一个绑定已经被替换,无需再次绑定。
- 226 IM Used (RFC 3229)
- 服务器已经成功处理了请求,且返回的是文档的当前实例的副本,该副本的生成基于服务器端的即时消息(Instance Manipulations)。
3xx 重定向状态码
- 300 Multiple Choices
- 被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的浏览信息。用户或浏览器能够选择那个地址来实际访问。
- 301 Moved Permanently
- 请求的资源已被永久移动到新的URL。
- 302 Found
- 请求的资源临时被移动到了新的URL。
- 303 See Other
- 服务器建议客户端访问另一个URL以获取响应。
- 304 Not Modified
- 如果客户端发送了一个带条件的GET请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。
- 305 Use Proxy (已废弃)
- 被请求的资源必须通过指定的代理才能被访问。
- 306 Switch Proxy (已废弃)
- 不再被使用。原始定义是“后续请求应使用指定的代理”。
- 307 Temporary Redirect
- 请求的资源临时从不同的URI响应请求。
- 308 Permanent Redirect (RFC 7538)
- 请求的资源和所请求的URI具有相同的语义,但资源已被永久移动到由Location头信息(在响应中)指定的URL。
4xx 客户端错误状态码
- 400 Bad Request
- 由于语法错误,服务器无法理解该请求。
- 401 Unauthorized
- 请求未经授权。
- 402 Payment Required (已废弃)
- 保留此状态码是为了将来可能的需求。
- 403 Forbidden
- 服务器拒绝执行请求。
- 404 Not Found
- 服务器无法找到所请求的资源。
- 405 Method Not Allowed
- 请求中指定的方法不被允许。
- 406 Not Acceptable
- 无法根据客户端请求的内容特性完成请求。
- 407 Proxy Authentication Required
- 请求要求代理的身份验证。
- 408 Request Timeout
- 服务器等待客户端发送的请求时间过长。
- 409 Conflict
- 请求的资源与资源的当前状态发生冲突。请求无法完成。
- 410 Gone
- 所请求的资源已不可用,并且没有任何已知的转发地址。这与404不同,它表示资源在服务器上永久删除,不会再有可用的。
- 411 Length Required
- 服务器拒绝在没有定义Content-Length头的情况下接受请求。
- 412 Precondition Failed
- 服务器未满足请求者在请求中设置的其中一个前提条件。
- 413 Payload Too Large
- 请求实体过大,超出了服务器的处理能力或者服务器配置的限制。
- 414 URI Too Long
- 请求的URI(通常是网址)过长,服务器无法处理。
- 415 Unsupported Media Type
- 请求的格式不受请求页面的支持。
- 416 Requested Range Not Satisfiable
- 客户端请求的范围无效。
- 417 Expectation Failed
- 服务器无法满足Expect头信息指定的期望值。
- 418 I’m a teapot (RFC 2324)
- 这是一个超文本咖啡壶控制协议中的错误状态码,表示茶壶不支持冲泡咖啡。主要用于IETF的April Fools’ jokes(愚人节玩笑)。
- 421 Misdirected Request (RFC 7540)
- 请求被定向到了无法处理该请求的服务器。这通常发生在HTTP/2中,当请求被错误地路由到不支持该请求方法的服务器时。
- 422 Unprocessable Entity (WebDAV)
- 请求格式正确,但是由于含有语义错误,无法处理。
- 423 Locked (WebDAV)
- 当前资源被锁定。
- 424 Failed Dependency (WebDAV)
- 由于之前的某个请求发生的错误,导致当前请求失败,例如由于另一个资源的失败(例如,文件上传中的文件丢失)。
- 425 Too Early (RFC 8470)
- 服务器拒绝处理请求,因为它处于早于其能够处理的阶段。
- 426 Upgrade Required
- 客户端应当切换到TLS/1.0。
- 428 Precondition Required (RFC 6585)
- 服务器需要请求满足一个先决条件。
- 429 Too Many Requests (RFC 6585)
- 用户在给定的时间段内发送了太多的请求(例如,由于请求速率限制)。
- 431 Request Header Fields Too Large (RFC 6585)
- 服务器拒绝处理请求,因为请求头字段太大。
- 451 Unavailable For Legal Reasons (RFC 7725)
- 由于法律原因,该资源不可用。
5xx 服务器错误状态码
- 500 Internal Server Error
- 服务器遇到了一个未曾预料的情况,导致其无法完成对请求的处理。
- 501 Not Implemented
- 服务器不支持当前请求所需要的某个功能。
- 502 Bad Gateway
- 作为网关或代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
- 503 Service Unavailable
- 由于临时的服务器维护或者过载,服务器当前无法处理请求。
- 504 Gateway Timeout
- 作为网关或代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到一个需要的响应。
- 505 HTTP Version Not Supported
- 服务器不支持请求中所用的HTTP协议版本。
- 506 Variant Also Negotiates (RFC 2295)
- 服务器存在内部配置错误:透明内容协商被假设为是资源的当前配置,因此协商过程本身无法被正确地处理。
- 507 Insufficient Storage (WebDAV)
- 服务器无法存储完成请求所必须的内容。
- 508 Loop Detected (WebDAV)
- 服务器在处理请求时检测到无限循环。
- 510 Not Extended (RFC 2774)
- 客户端需要一个扩展的HTTP协议,但服务器不支持该协议。
- 511 Network Authentication Required (RFC 6585)
- 客户端需要进行身份验证才能获得网络访问权限。
- 520 Unknown Error
- 这个状态码通常不是标准的HTTP状态码,而是由某些代理服务器(如Cloudflare)定义的,用来指示一个未知的错误。
- 521 Web Server Is Down
- 同样,这个状态码也不是标准的HTTP状态码,而是由某些代理服务器定义的,表示上游的web服务器已经宕机。
- 522 Connection Timed Out
- 类似于504 Gateway Timeout,但通常是由代理服务器(如Cloudflare)定义的,表示连接上游服务器超时。
- 523 Origin Is Unreachable
- 这也是一个非标准的HTTP状态码,通常表示无法到达原始服务器。
- 524 A Timeout Occurred
- 这个状态码表示在作为网关或代理工作的服务器尝试执行请求时,与上游服务器的连接超时。
- 525 SSL Handshake Failed
- 这个状态码通常表示在尝试进行SSL握手时发生错误,可能是由于证书问题或配置问题导致的。
- 526 Invalid SSL Certificate
- 这个状态码表示代理服务器收到的SSL证书是无效的。
- 527 Railgun Error
- 这个状态码与Railgun技术相关,Railgun是Cloudflare提供的一种优化服务,用于加速网站内容传输。当Railgun发生错误时,可能会返回这个状态码。
- 530 Access Denied
- 这个状态码通常用于表示访问被拒绝,但具体的拒绝原因可能因不同的服务器和代理而异。
- 598 Network read timeout error
- 这个状态码通常用于表示读取网络数据时发生超时错误。
- 599 Network connect timeout error
- 这个状态码表示在尝试连接到上游服务器时发生超时错误。
请注意,上述的520至599的状态码并不是标准的HTTP状态码,而是由某些代理服务器、负载均衡器或CDN服务提供的自定义状态码,用于提供更具体的错误信息。这些状态码的具体含义可能因服务提供商而异。
另外,HTTP状态码可能会随着新的RFC(Request for Comments)文档的出现而更新或添加新的状态码。因此,在编写涉及HTTP状态码的代码或文档时,建议查阅最新的RFC文档以获取最准确的信息。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容