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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本质 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。 1X...
    蹦蹦跳跳鱼阅读 206评论 0 0
  • 100:继续 客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。10...
    flywith24阅读 528评论 0 0
  • 100~199:指示信息,表示请求已接收,继续处理200~299:请求成功,表示请求已被成功接收、理解、接受300...
    小线亮亮阅读 254评论 0 0
  • HTTP概述 超文本传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最...
    曹渊说创业阅读 3,890评论 2 61
  • 现代科技高速发展,一个个伐木工从森林中砍下木头,送进家居场,再由一个个人挑选出合适的,搬到家里。过几年,再...
    卫心怡阅读 561评论 0 0