HTTP响应代码

HTTP响应代码是由三位数字组成的代码,它们指示一个HTTP请求是否成功,并如果不成功,原因是什么。这些代码分为五类:

1xx - 信息性响应

  • 100 Continue: 客户端应继续其请求。这个临时响应是为了通知客户端到目前为止都是可接受的,可以继续发送请求的其余部分或者如果已经完成则忽略这个响应。
  • 101 Switching Protocols: 服务器根据客户端的请求切换协议。
  • 102 Processing (WebDAV): 服务器已接受并正在处理请求,但还没有响应可用。
  • 103 Early Hints: 用于返回一些响应头,以便客户端可以提前开始预加载。

2xx - 成功

  • 200 OK: 请求成功。对GET和POST请求的应答文档跟在后面。
  • 201 Created: 请求成功并且服务器创建了新的资源。
  • 202 Accepted: 服务器已接受请求,但尚未处理。
  • 203 Non-Authoritative Information: 服务器是一个中间代理服务器,但返回的信息来自于另一个源。
  • 204 No Content: 服务器成功处理了请求,但没有返回任何内容。
  • 205 Reset Content: 服务器成功处理了请求,要求请求者重置文档视图。
  • 206 Partial Content: 服务器成功处理了部分 GET 请求。

3xx - 重定向

  • 300 Multiple Choices: 对请求的资源有多种选择。
  • 301 Moved Permanently: 请求的网页已永久移动到新位置。
  • 302 Found (Previously "Moved temporarily"): 请求的网页临时从不同的 URI 响应请求。
  • 303 See Other: 对于除GET之外的所有请求,都应使用另一个 URI 进行重定向。
  • 304 Not Modified: 自上次请求后,请求的网页未修改过。
  • 305 Use Proxy: 请求者只能使用代理访问请求的网页。
  • 307 Temporary Redirect: 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来以后的请求。
  • 308 Permanent Redirect: 请求的资源现在永久位于另一个 URI。

4xx - 客户端错误

  • 400 Bad Request: 服务器无法理解请求的格式。
  • 401 Unauthorized: 请求未授权。
  • 403 Forbidden: 禁止访问。
  • 404 Not Found: 找不到如何与 URI 相匹配的资源。
  • 405 Method Not Allowed: 请求中指定的方法不被允许。
  • 406 Not Acceptable: 服务器无法根据客户端请求的内容特性完成请求。
  • 407 Proxy Authentication Required: 类似 401,但用户必须在代理服务器上进行身份验证。
  • 408 Request Timeout: 请求超时。
  • 409 Conflict: 请求与服务器的当前状态冲突。
  • 410 Gone: 请求的资源已被永久删除。
  • 411 Length Required: 服务器拒绝在没有定义 Content-Length 头的情况下接受请求。
  • 412 Precondition Failed: 服务器未满足请求者在请求中设置的其中一个前提条件。
  • 413 Payload Too Large: 请求实体太大。
  • 414 URI Too Long: 请求的 URI 过长。
  • 415 Unsupported Media Type: 请求的媒体类型不被服务器或资源支持。
  • 416 Range Not Satisfiable: 客户端请求的范围无效。
  • 417 Expectation Failed: 服务器无法满足 Expect 请求头中指定的期望值。
  • 418 I'm a teapot (HTCPCP): 一个愚人节玩笑,在 HTTP 协议茶壶控制协议中定义。
  • 421 Misdirected Request: 服务器配置错误,无法产生响应。
  • 422 Unprocessable Entity (WebDAV): 请求格式正确,但由于语义错误无法响应。
  • 423 Locked (WebDAV): 资源被锁定。
  • 424 Failed Dependency (WebDAV): 由于先前的请求失败,导致当前请求失败。
  • 425 Too Early: 服务器不愿意冒风险处理可能重放的请求。
  • 426 Upgrade Required: 客户端应切换到不同的协议。
  • 428 Precondition Required: 原始服务器要求条件请求。
  • 429 Too Many Requests: 用户在给定的时间内发送了太多请求。
  • 431 Request Header Fields Too Large: 服务器不愿处理请求,因为一个或多个头字段过大。
  • 451 Unavailable For Legal Reasons: 由于法律原因,资源不可用。

5xx - 服务器错误

  • 500 Internal Server Error: 服务器遇到了意料不到的情况,无法完成请求。
  • 501 Not Implemented: 服务器不支持请求的功能,无法完成请求。
  • 502 Bad Gateway: 服务器作为网关或代理,从上游服务器收到无效响应。
  • 503 Service Unavailable: 服务器目前无法使用(由于超载或停机维护)。
  • 504 Gateway Timeout: 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
  • 505 HTTP Version Not Supported: 服务器不支持请求中所用的 HTTP 协议版本。
  • 506 Variant Also Negotiates: 服务器存在内部配置错误。
  • 507 Insufficient Storage (WebDAV): 服务器无法存储完成请求所必须的内容。
  • 508 Loop Detected (WebDAV): 服务器在处理请求时检测到无限循环。
  • 510 Not Extended: 请求的扩展没有在服务器上实现。
  • 511 Network Authentication Required: 需要网络认证。

随着时间的推移,可能会有新的状态代码被引入。以下是一些较不常见或非标准的 HTTP 响应状态代码:

非标准扩展
103 Checkpoint: 用于一个特定的重试响应,表示客户端应该继续发送请求。这是非标准扩展,用于特定的应用程序。
418 I'm a teapot (HTCPCP): 虽然是标准的一部分,但实际上是一个愚人节玩笑,来自超文本咖啡壶控制协议 (HTCPCP)。
419 Page Expired (Laravel Framework): 用于 Laravel 框架,表示会话已过期。
420 Enhance Your Calm (Twitter): 由 Twitter 使用,表示客户端被限制。
420 Method Failure (Spring Framework): 在 Spring 框架中,表示方法失败。
430 Request Header Fields Too Large (Shopify): 由 Shopify 使用,表示请求头字段太大。
450 Blocked by Windows Parental Controls (Microsoft): 由 Microsoft Windows 使用,表示因家长控制而阻止。
498 Invalid Token (Esri): 由 Esri 使用,表示令牌无效。
499 Token Required (Esri): 由 Esri 使用,表示需要令牌。
509 Bandwidth Limit Exceeded: 服务器达到带宽限制。
526 Invalid SSL Certificate: 由 Cloudflare 使用,表示 SSL 证书无效。
529 Site is Overloaded: 由 Qualys 使用,表示网站过载。
530 Site is Frozen: 由 Pantheon 使用,表示网站已冻结。
598 Network Read Timeout Error: 表示网络读取超时错误(非标准)。
599 Network Connect Timeout Error: 表示网络连接超时错误(非标准)。

THE END
分享
海报
HTTP响应代码
HTTP响应代码是由三位数字组成的代码,它们指示一个HTTP请求是否成功,并如果不成功,原因是什么。这些代码分为五类: 1xx - 信息性响应 100 Continue: 客户端应继续其请求。这个临时响应是为了通知客户端到目前为止都是可接受的,可以继续发送请求的其余部分或者如果已经完成……
<<上一篇
下一篇>>