HTTP 状态码

​ HTTP状态码(HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的数字代码。这些状态码由RFC 2616规范定义,并得到其他多个规范的扩展。HTTP状态码由三位数字组成,第一个数字表示响应的类型,后两个数字表示具体的响应代码。根据HTTP协议的规定,状态码被分为五个类别,每个类别都有特定的含义:

1xx(信息性状态码)

表示请求已被接收,继续处理。这类状态码一般不会出现在浏览器的最终显示中,而是在通信过程中起到辅助作用。

  • 100(Continue 继续)

    服务器已经接收到请求的一部分,客户端可以继续发送剩余的请求。服务器已接收到请求头,客户端可以继续发送请求体。

    • 101(Switching Protocols 切换协议)

      服务器根据客户端的请求切换协议。例如,切换到更高级的HTTP/1.1协议。例如,从 HTTP/1.1 切换到 WebSocket。

    • 102(Processing 处理中,WebDAV 扩展)

      服务器已收到并正在处理请求,但尚未产生响应。

2xx(成功状态码)

表示请求已成功被服务器接收、理解和处理。

  • 200(OK 成功)

    请求已成功处理,并返回所请求的资源。

  • 201(Created 已创建)

    请求已成功处理,并在服务器上创建了新的资源。通常用于 POST 或 PUT 请求后。

  • 202(Accepted 已接受)

    服务器已接受请求,但尚未处理。常用于异步处理场景。

  • 203(Non-Authoritative Information 非权威性信息)

    服务器已成功处理了请求,但返回的响应头信息可能来自另一来源。

  • 204(No Content 无内容)

    服务器成功处理了请求,但没有返回任何内容。

  • 205(Reset Content 重置内容)

    服务器成功处理了请求,且没有返回任何内容,但要求客户端重置文档视图(例如,清除表单内容以重新输入)。

  • 206(Partial Content 部分内容)

    服务器成功处理了部分请求(即对文档的某个部分进行请求)。

  • 207(Multi-Status 多状态,WebDAV 扩展)

    返回多个独立的响应信息,用于批量操作时指示各个子请求的状态。

  • 208(Already Reported 已报告,WebDAV 扩展)

    用于避免在集合资源中重复报告成员状态。

3xx(重定向状态码)

表示需要进一步操作(通常是 URL 跳转)才能完成请求。

  • 301(Moved Permanently 永久重定向)

    请求的资源已经被永久移动到新的URL上,之后的请求都应使用新的 URL。

  • 302(Found 临时重定向)

    请求的资源暂时被移动到了新的URL上,客户端应继续使用原有URL进行以后的请求(HTTP/1.0)或自动访问新的URL(HTTP/1.1及之后的版本)。

  • 303(See Other 查看其他位置)

    与302类似,但明确要求客户端使用GET方法获取资源。

  • 304( Not Modified 未修改)

    客户端发送了一个条件请求(如使用If-Modified-Since或If-None-Match头),服务器判断资源未发生变化,返回此状态码。客户端使用缓存的版本,服务器告知资源未发生变化,不需要传输。

  • 307(Temporary Redirect 临时重定向)

    与302类似,但明确要求客户端在后续请求中继续使用POST方法(针对302可能改变请求方法的问题)。

  • 308(Permanent Redirect 永久重定向,RFC 7538)

    与 301 类似,但要求客户端在重定向时保持原有请求方法和请求体。

4xx(客户端错误状态码)

表示客户端发送的请求有错误,服务器无法理解或无法完成。

  • 400(Bad Request 错误请求)

    服务器无法理解请求的语法。

  • 401(Unauthorized 未授权):请求需要身份验证,但客户端没有提供有效的凭据,或者凭据不被服务器接受。

    • 401.1:登录失败。
    • 401.2:服务器配置问题导致登录失败。
    • 401.3:ACL禁止访问资源。
    • 401.4:授权被筛选器拒绝。
    • 401.5:ISAPI或CGI授权失败。
    • 401.7:访问被Web服务器上的URL授权策略拒绝(IIS 6.0专用)。
  • 402(Payment Required 需要付款)

    该状态码已保留,但未被使用。

  • 403(Forbidden 禁止访问):服务器拒绝请求访问。

    • 403.1:禁止可执行访问。
    • 403.2:禁止读访问。
    • 403.3:禁止写访问。
    • 403.4:要求SSL。
    • 403.5:要求 SSL 128 位加密。
    • 403.6:IP地址被拒绝。
    • 403.7:要求客户端证书。
    • 403.8:站点访问被拒绝。
    • 403.9:连接的用户过多。
    • 403.10:配置无效。
    • 403.11:密码更改。
    • 403.12:拒绝访问映射表。
    • 403.13:客户端证书被吊销。
    • 403.14:拒绝目录列表。
    • 403.15:超出客户端访问许可。
    • 403.16:客户端证书不受信任或无效。
    • 403.17:客户端证书已过期或尚未生效。
    • 403.18:在当前的应用程序池中不能执行所请求的URL(IIS 6.0专用)。
    • 403.19:不能为这个应用程序池中的客户端执行CGI(IIS 6.0专用)。
    • 403.20:Passport登录失败(IIS 6.0专用)。
  • 404(Not Found 未找到):服务器找不到请求的资源。

    • 404.0:没有找到文件或目录。
    • 404.1:无法在所请求的端口上访问Web站点。
    • 404.2:Web服务扩展锁定策略阻止本请求。
    • 404.3:MIME映射策略阻止本请求。
  • 405( Method Not Allowed 方法不被允许)

    用来访问本页面的HTTP谓词不被允许(例如,不允许使用POST方法)。请求方法(如 POST、PUT 等)不被允许使用在该资源上。

  • 406(Not Acceptable 无法接受)

    客户端浏览器不接受所请求页面的MIME类型。

  • 407(Proxy Authentication Required 要求代理身份验证)

    请求需要通过代理服务器进行身份验证。

  • 408(Request Timeout 请求超时)

    客户端没有在服务器期望的时间内完成请求。

  • 409(Conflict 冲突)

    请求因为与资源的当前状态冲突而失败。

  • 410(Gone 永远不可用)

    请求的资源已被永久删除,且不会再有可用的副本。

  • 411(Length Required 需要有效长度)

    服务器拒绝接受没有定义Content-Length头的请求(针对HTTP/1.1)。

  • 412(Precondition Failed 先决条件失败)

    请求头中的条件导致请求失败(例如,If-Match)。

  • 413(Payload Too Large 请求实体太大)

    服务器无法处理请求,因为请求实体太大,超过了服务器的处理能力或配置的限制。

  • 414(URI Too Long 请求URI太长)

    请求的URI太长,服务器无法处理。

  • 415(Unsupported Media Type 不支持的媒体类型)

    请求的格式不被请求方法所支持(例如,使用POST方法上传文件时,文件类型不被允许)。

  • 416(Range Not Satisfiable 请求范围不符合要求)

    请求的范围无效,无法满足请求。

  • 417(Expectation Failed 执行失败,预期失败)

    期望的请求头“Expect”值未实现。

  • 422(Unprocessable Entity 不可处理的实体)

    请求实体在语义上正确,但无法按照请求的格式进行处理(WebDAV)。

  • 423(Locked 锁定的错误)

    资源被锁定,无法完成请求。

  • 424(Failed Dependency 方法失败)

    请求方法失败或请求的消息体失败(WebDAV)。

  • 426(Upgrade Required 升级所需的)

    客户端应切换到TLS/1.0(或其他更高版本的协议)以进行请求。

  • 428(Precondition Required 先决条件必需)

    请求需要满足特定的前提条件。

  • 429(Too Many Requests 请求过多)

    用户在短时间内发送了太多的请求(通常用于防止恶意攻击和爬虫)。

  • 431(Request Header Fields Too Large 请求头字段过大)

    服务器不愿意处理请求,因为请求头字段太大。

  • 451(Unavailable For Legal Reasons 因法律原因被阻止)

    请求因法律原因被阻止(例如,由于版权问题)。

  • 499 (Client Closed Request 客户端关闭请求,Nginx 非标准)

    HTTP状态码499是一个非标准的状态码,它表示服务器已经成功处理了请求,但在返回响应之前,客户端主动关闭了连接。这个状态码通常由Nginx服务器引入和记录。当客户端(如浏览器)在等待服务器响应的过程中关闭连接时,如果服务器是Nginx,那么它会将此情况记录为499状态码。

5xx(服务器错误状态码)

表示服务器在处理请求时发生了错误。表示服务器在处理请求时发生内部错误,导致无法完成请求。

  • 500(Internal Server Error 内部服务器错误):服务器在执行请求时发生了错误。

    • 500.100:内部ASP错误。
    • 500.12:应用程序正忙于在Web服务器上重新启动。
    • 500.13:Web服务器太忙。
    • 500.14:应用程序无效。
    • 500.15:不允许直接请求Global.asa。
    • 500.16:UNC授权凭据不正确(IIS 6.0专用)。
    • 500.18:URL授权存储不能打开(IIS 6.0专用)。
  • 501(Not Implemented 未实现)

    服务器不支持请求所需的功能或方法。

  • 502(Bad Gateway 错误网关)

    作为网关或代理的服务器从上游服务器接收到无效响应。

  • 503(Service Unavailable 服务不可用)

    服务器由于过载或维护暂时无法处理请求,通常为临时状态。

  • 504(Gateway Timeout 网关超时)

    作为网关或代理的服务器未能及时从上游服务器接收到响应。

  • 505(HTTP Version Not Supported HTTP 版本不受支持)

    服务器不支持请求中使用的 HTTP 协议版本。

  • 506(Variant Also Negotiates 变体也协商)

    服务器内部配置错误,导致内容协商出现循环引用。

  • 507(Insufficient Storage 存储空间不足)

    服务器无法存储完成请求所必需的内容(WebDAV 扩展)。

  • 508(Loop Detected 循环引用检测)

    服务器检测到无限循环(WebDAV 扩展)。

  • 510(Not Extended 扩展不满足要求)

    服务器要求客户端提供更多扩展信息以完成请求。

  • 511(Network Authentication Required 需要网络认证)

    客户端必须先进行网络认证才能获得网络访问权限(常见于捕获门户)。

results matching ""

    No results matching ""