在我们访问网页时,常常遇见返回提示200、404、502等代码,这些数字是 HTTP状态码,用以表示网页服务器超文本传输协议响应状态的3位数字代码。所有状态码的第一个数字代表了响应的五种状态之一( 消息、成功、重定向、请求错误、服务器错误)
常见的状态码
- 200(成功) - 服务器成功返回网页
- 201 (已创建) - 请求成功并且服务器创建了新的资源。
- 304 (未修改) - 自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
- 400 (错误请求) - 服务器不理解请求的语法。
- 403(禁止)服务器拒绝请求。
- 404(未找到) - 请求的网页不存在
- 500 (服务器内部错误) - 服务器遇到错误,无法完成请求。
- 502 (错误网关)- 服务器作为网关或代理,从上游服务器收到无效响应。
HTTP状态码100-500详细介绍
1xx(临时响应信息提示 )
这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx
- 100(继续) - 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
- 101(切换协议) - 服务器将遵从客户的请求转换到另外一种协议。
- 102 (处理) - 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。
2xx (成功)
表示成功处理了请求的状态代码。
- 200(成功) - 服务器已成功处理了请求。
- 201(已创建) - 请求成功并且服务器创建了新的资源。
- 202(已接受) - 服务器已接受请求,但尚未处理。
- 203(非授权信息) - 服务器已成功处理了请求,但返回的信息可能来自另一来源。
- 204(无内容) - 服务器成功处理了请求,但没有返回任何内容。
- 205(重置内容) - 服务器成功处理了请求,但没有返回任何内容。与 204响应不同,此响应要求请求者重置文档视图(例如,清除表单内容以输入新内容)。
- 206(部分内容) - 服务器成功处理了部分 GET 请求。
- 207 (多状态) - 由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。
3xx (重定向)
表示要完成请求,需要进一步操作。客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 建议在每次请求中使用重定向不要超过 5次。 通常,这些状态代码用来重定向。
- 300(多种选择)- 针对请求,服务器可执行多种操作。服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
- 301(永久移动)- 请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
- 302(临时移动)- 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
- 303(查看其他位置)- 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
- 304(未修改)- 自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
- 305(使用代理)- 请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。
- 307(临时重定向)- 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
4xx(请求错误)
这些状态码表示请求可能出错,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。 妨碍了服务器的处理。
- 400(错误请求)服务器不理解请求的语法。
- 401(未授权)请求要求身份验证。对于登录后请求的网页,服务器可能返回此响应。
- 403(禁止)服务器拒绝请求。如果您在 Googlebot 尝试抓取您网站上的有效网页时看到此状态码(您可以在 Google网站管理员工具诊断下的网络抓取页面上看到此信息),可能是您的服务器或主机拒绝了 Googlebot 访问。
- 404(未找到)服务器找不到请求的网页。例如,对于服务器上不存在的网页经常会返回此代码。
- 405(方法禁用)禁用请求中指定的方法。
- 406(不接受)无法使用请求的内容特性响应请求的网页。
- 407(需要代理授权)此状态码与 401(未授权)类似,但指定请求者应当授权使用代理。如果服务器返回此响应,还表示请求者应当使用代理。
- 408(请求超时)服务器等候请求时发生超时。
- 409(冲突)服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。服务器在响应与前一个请求相冲突的 PUT请求时可能会返回此代码,以及两个请求的差异列表.
- 410(已删除)如果请求的资源已永久删除,服务器就会返回此响应。该代码与404(未找到)代码类似,但在资源以前存在而现在不存在的情况下,有时会用来替代 404 代码。如果资源已永久移动,您应使用 301指定资源的新位置。
- 411(需要有效长度)服务器不接受不含有效内容长度标头字段的请求。
- 412(未满足前提条件)服务器未满足请求者在请求中设置的其中一个前提条件。
- 413(请求实体过大)服务器无法处理请求,因为请求实体过大,超出服务器的处理能力.
- 414(请求的 URI 过长)请求的 URI(通常为网址)过长,服务器无法处理。
- 415(不支持的媒体类型)请求的格式不受请求页面的支持。
- 416(请求范围不符合要求)如果页面无法提供请求的范围,则服务器会返回此状态码。
- 417(未满足期望值)服务器未满足”期望”请求标头字段的要求。
- 421(错误的请求)请求被指向到无法生成响应的服务器(比如由于连接重复使用)
- 422 (不可处理)请求格式正确,但是由于含有语义错误,无法响应。
- 423 (锁定)当前资源被锁定。
- 424 (失败的相关项)由于之前的某个请求发生的错误,导致当前请求失败,例如 PROPPATCH。
- 425 (初期) 状态码 425 Too Early 代表服务器不愿意冒风险来处理该请求,原因是处理该请求可能会被“重放”,从而造成潜在的重放攻击。
- 426 (需要升级)客户端应当切换到TLS/1.0。
- 449 (重试)由微软扩展,代表请求应当在执行完适当的操作后进行重试。
- 451 (因法律原因无法获得)该请求因法律原因不可用。
5xx(服务器错误)
这些状态码表示服务器在处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。
- 500 (服务器内部错误) 服务器遇到错误,无法完成请求。服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现。
- 500.12 - 应用程序正忙于在 Web 服务器上重新启动。
- 500.13 - Web 服务器太忙。
- 500.15 - 不允许直接请求 Global.asa。
- 500.16 – UNC 授权凭据不正确。这个错误代码为 IIS 6.0 所专用。
- 500.18 – URL 授权存储不能打开。这个错误代码为 IIS 6.0 所专用。
- 500.100 - 内部 ASP 错误。
- 501 (未执行)- 服务器不具备完成请求的功能。服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。例如,服务器无法识别请求方法时可能会返回此代码。
- 502 (错误网关)- 服务器作为网关或代理,从上游服务器收到无效响应。
- 503 (服务不可用)- 服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。
- 504 (网关超时)- 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
- 505 (HTTP 版本不受支持)- 服务器不支持请求中所用的 HTTP 协议版本。
- 507 (存储不足)服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。
- 509 (超出带宽限制)服务器达到带宽限制。这不是一个官方的状态码,但是仍被广泛使用。
- 600 (无法解析的响应标头)源站没有返回响应头部,只返回实体内容。