HTTP状态码(HTTP Status Code) 是当我们访问网页服务器,服务器做出相应的状态的3位数的数字代码。主要包括“1xx”(消息)、“2xx”(成功)、“3xx”(重定向)、“4xx”(请求错误)和“5xx”或“6xx”(服务器错误)五种不同类型。
比较常见的状态码有:
HTTP: Status 200 – 服务器成功返回网页
HTTP: Status 404 – 请求的网页不存在
HTTP: Status 503 – 服务不可用
一、1xx (临时响应)
1xx (临时响应)表示临时响应并需要请求者继续执行操作的状态代码。
- 100 Continue(继续)请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
- 101 Switching Protocols(切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。
- 102 Processing 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。
二、2xx (成功)
2xx (成功)表示成功处理了请求的状态代码。
- 200 OK(成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
- 201 Created(已创建) 请求成功并且服务器创建了新的资源。
- 202 Accepted(已接受) 服务器已接受请求,但尚未处理。
- 203 Non-Authoritative Information(非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。
- 204 No Content(无内容) 服务器成功处理了请求,但没有返回任何内容。
- 205 Reset Content(重置内容) 服务器成功处理了请求,但没有返回任何内容。
- 206 Partial Content(部分内容) 服务器成功处理了部分 GET 请求。
- 207 Multi-Status 由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。
三、3xx (重定向)
3xx (重定向) 表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
- 300 Multiple Choices(多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (useragent)选择一项操作,或提供操作列表供请求者选择。
- 301 Moved Permanently(永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或HEAD请求的响应)时,会自动将请求者转到新位置。
- 302 Move Temporarily(临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
- 303 See Other(查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
- 304 Not Modified(未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
- 305 Use Proxy(使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
- 306 Switch Proxy 在最新版的规范中,306状态码已经不再被使用。
- 307 Temporary Redirect(临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
四、4xx (请求错误)
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(需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。
- 408 Request Timeout(请求超时)服务器等候请求时发生超时。
- 409 Conflict(冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。
- 410 Gone(已删除) 如果请求的资源已永久删除,服务器就会返回此响应。
- 411 Length Required(需要有效长度) 服务器不接受不含有效内容长度标头字段的请求。
- 412 Precondition Failed(未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。
- 413 Request Entity Too Large(请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
- 414 Request-URI Too Long(请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。这比较少见,通常的情况包括:本应使用POST方法的表单提交变成了GET方法,导致查询字符串(Query String)过长。
- 415 Unsupported Media Type(不支持的媒体类型) 请求的格式不受请求页面的支持。
- 416 Requested Range Not Satisfiable(请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码。
- 417 Expectation Failed(未满足期望值) 服务器未满足”期望”请求标头字段的要求。
- 418 I'm a teapot
- 421 Misdirected Request 请求被指向到无法生成响应的服务器(比如由于连接重复使用)。
- 422 Unprocessable Entity 请求格式正确,但是由于含有语义错误,无法响应。(RFC 4918 WebDAV)。
- 423 Locked 当前资源被锁定。(RFC 4918 WebDAV)。
- 424 Failed Dependency 由于之前的某个请求发生的错误,导致当前请求失败,例如 PROPPATCH。(RFC 4918 WebDAV),
- 425 Too Early 状态码 425 Too Early 代表服务器不愿意冒风险来处理该请求,原因是处理该请求可能会被“重放”,从而造成潜在的重放攻击。(RFC 8470)。
- 426 Upgrade Required 客户端应当切换到TLS/1.0。(RFC 2817)。
- 449 Retry With 由微软扩展,代表请求应当在执行完适当的操作后进行重试。
- 451 Unavailable For Legal Reasons 该请求因法律原因不可用。(RFC 7725)。
五、5xx (服务器错误)
5xx (服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。
- 500 Internal Server Error(服务器内部错误) 服务器遇到错误,无法完成请求。
- 501 Not Implemented(尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
- 502 Bad Gateway(错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
- 503 Service Unavailable(服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
- 504 Gateway Timeout(网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
- 505 HTTP Version Not Supported(HTTP 版本不受支持)服务器不支持请求中所用的 HTTP 协议版本。
- 506 Variant Also Negotiates 由《透明内容协商协议》(RFC 2295)扩展,代表服务器存在内部配置错误:被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一个合适的重点。
- 507 Insufficient Storage 服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。WebDAV (RFC 4918)。
- 509 Bandwidth Limit Exceeded 服务器达到带宽限制。这不是一个官方的状态码,但是仍被广泛使用。
- 510 Not Extended 获取资源所需要的策略并没有被满足。(RFC 2774)
六、6xx
- 600 Unparseable Response Headers 源站没有返回响应头部,只返回实体内容。
以上内容仅为学习交流使用,请勿用作商业用途!
【参考资料】
1、图书:《图解HTTP》
2、百度百科:HTTP状态码
版权归原作者所有,如有侵权请立即与博主联系,将会及时处理!
完结!