HTTP状态码

Posted wbyp

tags:

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

HTTP状态码负责表示客户端HTTP请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。

状态码的类别:

技术分享图片

记录在RFC2616上的HTTP状态码有40种,再加上WebDAV等的扩展,数量达到了60余种,但是实际上经常使用的只有14种,接下来介绍下具有代表性的这14个状态码。

1、200 OK  表示请求已正常处理。

2、204 No Content  表示请求处理成功,但没有资源可返回。

3、206 Partial Content  表示客户端进行了范围请求,服务器执行了这部分的GET请求。Content-Range指定响应的范围。

4、301 Moved Permanently  表示请求的资源已被分配了新的URI,以后应使用新的URI(永久性重定向)。

5、302 Found  表示请求的资源已被分配了新的URI,希望本次请求使用新的URI(临时性重定向)。

6、303 See Other  表示请求的资源已被分配了新的URI,希望本次请求使用新的URI,并且使用GET方法获取请求的资源。

注:当返回301、302、303响应状态码时,几乎所有的浏览器都会把POST改成GET,并删除请求报文内的主体,之后请求会自动再次发送。

301、302标准是禁止将POST方法改变成GET方法的,但实际上大家都没按照这样来,所以直接使用303响应是最理想的。

7、304 Not Modified  表示客户端发送附带条件的请求时,服务器允许请求访问资源,但是未满足条件。不返回响应体,和重定向没有关系。

注:附带条件是指采用GET方法的请求报文中包含If-Match,If-Modified-Since,If-None-Match,If-Range,If-UnModified-Since中任一首部。

8、307 Temporary Redirect  表示临时重定向,和302相同。

9、404 Bad Request  表示请求报文中存在语法错误。

注:浏览器会像对待200 OK 一样对待该状态码。

10、401 Unauthorized  表示发送的请求需要通过HTTP认证,如果这是第二次返回401,则表示认证失败。

11、403 Forbidden  表示请求被服务器拒绝。

12、404 Not Found  表示服务器上无法找到请求的资源。

13、500 Internal Server Error  表示服务器端在执行请求时发生了错误。

14、503 Service Unavailable  表示服务器忙,无法处理请求。可能是服务器暂时处于超负载或正在进行停机维护。


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

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

HTTP状态码

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

HTTP状态码404是啥意思?

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

http协议状态码及其意义