HTTP常用状态码

1. 2XX 成功

200 OK
表示从客户端发来的请求在服务器端被正常处理了

204 No Content
代表服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主体部分.另外,也不予许返回任何实体的主体.

206 Partial Content
表示客户端进行了范围请求(Range), 而服务器成功执行了这部分的GET请求.响应报文中包含由Content-Range指定范围的实体内容.

2. 3XX 重定向

301 Moved Permanently
永久性重定向.表示请求的资源已被分配了新的URI, 以后应使用资源现在所指的URI.服务器返回此响应时,会自动将请求者转到新位置.

302 Found
临时性重定向.表示服务器目前正在从不同位置的页面响应请求,但请求者应继续使用原有位置来进行以后的请求.
HTTP1.1在介绍302中有说明,如果客户端发出非GET或HEAD请求后,收到服务器的302状态码,那么不能自动发起重定向,除非得到用户确认.
但是很多浏览器都把302当做303处理了,他们获取到HTTP响应报文头部的Location字段信息,并发起一个GET请求.
(301,302标准是禁止将POST方法改变成GET方法的)

303 See Other
表示服务器正在从不同的URI响应请求, 并且应该使用该资源的GET方法.它是为了允许POST请求重定向到GET请求.

304 Not Modified
表示客户端发送附带If-Match/If-Modified-Since/If-None-Match/If-Range/If-Unmodified-Since等条件的请求, 但条件未满足的情况.
一般是自从上次请求后,请求的资源未发生变化,服务器会返回304.304状态码返回时不包含任何响应的主体部分.

307 Temporary Redirect
临时性重定向.该状态码的描述与302相同.
由于很多浏览器对302的处理不符合标准,所以HTTP/1.1添加303和307来明确告诉客户端需要进行怎样的处理.

3. 4XX 客户端错误

400 Bad Request
表示请求报文中存在语法错误.

401 Unauthorized
表示发送的请求需要有通过HTTP认证(BASIC认证,DIGEST认证)的认证信息.若之前已经进行过一次请求,则表示用户认证失败.
返回含有401的响应必须包含一个适用于被请求资源的WWW-Authenticate首部字段用以质询用户信息.当浏览器初次接收到401响应,会弹出认证用
的对话窗口.

403 Forbidden
表明服务器拒绝了请求.服务器可以在响应实体中描述拒绝原因(不必须).
通常为获得文件系统的访问授权,或访问权限出现某些问题(从未授权的发送源IP地址试图访问)等情况会发生403.
如果服务器拒绝请求又不想说明原因时可以使用404代替.

404 Not Found
服务器无法找到请求的URI.

4. 5XX 服务器错误

500 Internal Server Error
服务器端在执行请求时发生错误.可能是Web应用存在bug或故障.

503 Service Unavailable
表明服务器暂时处于超负载或者正在进行停机维护,现在无法处理请求.503表示这是临时情况.如果事先得知解除以上情况需要的时间,可以写入
Retry-After首部字段返回给客户端.


参考:《图解HTTP》,RFC 2616

猜你喜欢

转载自www.cnblogs.com/thunderLL/p/8921052.html