HTTP状态码

Posted lime2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP状态码相关的知识,希望对你有一定的参考价值。

1. HTTP状态码简介

HTTP状态码(HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 与 RFC 4918 等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。

响应的五种状态:

  • 1xx:通知类状态码,用于与HTTP服务器沟通时使用;
  • 2xx:成功类状态码,表明操作成功;
  • 3xx:重定向类状态码,
  • 4xx:客户端出错类状态码,
  • 5xx:服务端出错类状态码,

2. HTTP常用状态码

2.1 1xx:消息类状态码

状态码
100Continue服务器已经收到请求头,请求者应当继续提出请求。
101Switching Protocols服务端已经理解了客户的请求,并通过 Ugrade 消息头通知客户端采用不同的协议来完成这个请求。

2.2 2xx:成功类状态码

状态码
200OK已成功处理了请求。
201Created请求成功并且服务器创建了新的资源。
202Accepted服务器已接受请求,但尚未处理。
204No Content服务器成功处理了请求,但没有返回内容。
206Partial Content服务器成功处理了部分 GET 请求。

2.3 3xx:重定向类状态码

状态码
300Multiple Choices针对请求,服务器可执行多种操作。
301Moved Permanently请求的资源已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302Found请求的资源临时从不同的 URI 响应请求。
由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在 Cache-Control 或 Expires 中进行了指定的情况下,这个响应才是可缓存的。
303Found针对请求,服务器可执行多种操作。
303See Other对应当前请求的响应可以在Location报头里的URI上被找到,而且客户端应当采用 GET 的方式访问那个资源。
303响应禁止被缓存。
304Not Modified自从上次请求后,请求的资源未修改过。
305Use Proxy请求者只能使用代理访问请求的网页。
307Temporary Redirect服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来响应以后的请求。

2.4 4xx:客户端错误类状态码

状态码
400Bad Request服务器收到客户端通过PUT或者POST请求提交的表示,表示的格式正确,但服务器不懂它什么意思
401Unauthorized请求要求身份验证。
403Forbidden服务器拒绝请求。
404Not Found服务器找不到请求的资源。
405Method Not Allowd请求中的方法不被允许(HTTP METHOD)。
406Not Acceptable请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体,该请求不可接受。
408Reqeust Timeout服务器等候请求时发生超时
409Conflict由于和被请求的资源的当前状态之间存在冲突,请求无法完成。
410Gone如果请求的资源已永久删除,服务器就会返回此响应。
411Length Required服务器不接受不含有效内容长度标头字段的请求。
412Precondition Failed服务器未满足请求者在请求中设置的其中一个前提条件。
413Request Entity Too Large服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
414Request-URI Too Long请求的 URI(通常为网址)过长,服务器无法处理。
415Unsupported Media Type请求的格式不受请求页面的支持。
416Requestd Range Not Satisfiable如果页面无法提供请求的范围,则服务器会返回此状态代码。
417Expectation Failed服务器未满足"Expect"请求头字段的要求。
429Too Many Requests用户在给定的时间内发送了太多的请求。旨在用于网络限速。
431Request Header Fields Too Large服务器不愿处理请求,因为一个或多个头字段过大。

2.5 5xx:服务端错误类状态码

状态码
500Internal Server Error服务器遇到错误,无法完成请求
502Bad Gateway服务器作为网关或代理,从上游服务器收到无效响应。(只有HTTP代理会发送这个响应代码。)
503Service Unavailable服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
504Gateway Timeout服务器作为网关或代理,但是没有及时从上游服务器收到请求。(只有HTTP代理会发送此响应代码。)

以上是关于HTTP状态码的主要内容,如果未能解决你的问题,请参考以下文章

http状态码分类以及常见状态码分析

HTTP状态码

Http状态码:简单获取http状态码

HTTP状态码404是啥意思?

http协议的状态码 200301304404502 HTTP状态码解释

http协议状态码及其意义