HTTP常见状态码

计算机之间的通信以协议为共同基础,客户端与服务端都按照协议的约定进行通信。HTTP的状态码在HTTP协议内规定了很多状态。客户端请求服务端后,服务端就返回结果,同时返回状态码。告诉客户端,本次请求是成功还是失败,还是要客户端做什么操作。HTTP协议规定,一个状态码就代表一个状态。

1XX

Information状态码,表示信息正在处理

2XX

Success状态码,表示请求正常处理完成

3XX

Redirection状态码,表示需要客户端进行附加操作(如跳转)

4XX

Client Error状态码,通常是由客户端的错误导致

5XX

Server Error状态码,通常是由服务端的错误导致

总结:状态码分为客户端错误状态码、服务端错误状态码,成功状态码,重定向状态码等。

 

以下是常见状态码:

1、2XX   Success

(1)200    OK   

表示客户端发送的请求已被服务端成功接收并且正确处理。

根据不同的请求方法返回结果:

GET:请求的对应资源作为相应返回。

HEAD:请求的对应资源的响应头会作为响应返回,不包括响应体

POST:返回处理对应请求的结果。

(2)204    No Content

表示服务器接收到的请求已经处理完毕,但服务器不需要返回响应体,

如客户端是浏览器的话,发出的请求返回204响应,那么浏览器显示的页面就不会更新。

(3)206   Partial Content

表示客户端通过发送范围请求头Range抓取资源的部分数据。

HTTP请求取消或中断,客户端有可能会获取不到完整的的数据(数据传输中断)。因此作为客户端,在获取到一部分数据后,更希望在后续请求中获取剩余数据,而不是一下子获取所有数据,同样有利于存储空间不足的设备。

2、3XX   Redirection

(1)301   Moved Permanently

永久性重定向。表示请求的页面资源现在已经永久转移位置了。服务端返回GET请求或HEAD请求的响应时,会自动将请求者转到新位置。

(2)302   Found

临时重定向。表示请求的页面资源已经转移位置。与301相似,但不同之处在于,302代表的资源不是被永久移动,只是临时性质的。有可能以后还会变化。

(3)303  See Other

表示请求的资源存在另一个URI,应使用GRT方法定向获取请求的资源。与302不同之处在于302不会改变请求方法,如果请求方法为POST。那么重定向的请求也应该是POST。而对于303,使用POST请求,那么重定向的请求方法变为GET。

(4)304   Not Modified

表示资源已经找到了,但是和上次相比没有更新。浏览器读取缓存。

(5)307   Temporary Redirect

临时重定向。与302、303有类似的含义,但是307不会指定客户端要用什么请求方法请求重定向。(302指定使用原因请求方法,303指定使用GET方法)

4、4XX   Client Error

(1)400   Bad Request

表示该请求报文中存在语法错误,导致服务端无法理解该请求。客户端需修改请求的内容后再次发送请求。

(2)401   Unauthorized

表示发送的请求需要通过HTTP认证(Basic认证、Digest认证)的认证信息。

(3)403   Forbidden

表示请求资源的访问被服务器拒绝。如为获得文件系统的访问权限,访问权限出现问题,从未授权的发送源IP地址试图访问都可能造成403响应。

(4)Not Found

表示服务器上无法找到指定的资源。通常用于服务不想透露拒绝请求的原因,或没有其他的响应可提供。

5、5XX   Server Error

(1)500   Internet Server Error

表示服务端在执行请求时发生错误。

(2)503   Service Unavailable

比碍事服务器暂时处于超负载或正在进行停机维护,现无法处理请求。

posted @ 2018-01-24 11:25  zi_chil  阅读(286)  评论(0编辑  收藏  举报