HTTP状态码介绍
- 状态码的职责是当客户端向服务器发送请求时,描述返回的请求结果。借助状态码,用户能够知道服务器端是正常处理了请求,仍是出现了错误。
状态码的类别
- http状态码一般分为5种类型,分别是以1~5五个数字开头,并由三位整数组成
状态码 |
类别 |
说明 |
1XX |
信息性状态码(Information) |
接收的请求正在处理 |
2XX |
成功状态码(Success) |
请求正常处理完毕 |
3XX |
重定向状态码(Redirection) (Success) |
须要进行附加操做以完成请求 |
4XX |
客户端错误状态码(Client Error) |
服务器没法处理请求 |
5XX |
服务器错误状态码(Server Error) |
服务器请求出错 |
1XX 信息性状态码
- 这些状态码是HTTP 1.1引入的。 对于这些状态码的价值还存在争论。 | 状态码 | 状态消息 | 含义 | | :------| ------: | :------: | | 100 | Continue(继续) | 收到了请求的起始部分,客户端应该继续请求 | | 101 | Switching Protocols 切换协议 | 服务器正根据客户端的指示将协议切换成 Update Header列出的协议 |
2XX 成功状态码
- 客户端发起请求时, 这些请求一般都是成功的。服务器有一组用来表示成功的状态码,分别对应于不一样类型的请求。
状态码 |
状态消息 |
含义 |
实例 |
200 |
OK 服务器成功处理了请求 |
HTTP协议详解-200 |
|
204 |
No Content(没有内容) |
请求成功,但没有资源返回 (Response不包括实体的主题内容, 浏览器不会更新) |
状态码204 |
206 |
Partial Content(部份内容) |
对资源的某一部分请求成功 |
状态码206 |
3XX 重定向状态码
- 重定向状态码用来告诉浏览器客户端,它们访问的资源已被移动, Web服务器发送一个重定向状态码和一个可选的Location Header, 告诉客户端新的资源地址在哪。
- 浏览器客户端会自动用Location中提供的地址,从新发送新的Request。 这个过程对用户来讲是透明的。
状态码 |
状态消息 |
含义 |
实例 |
301 |
Moved Permanently(永久移除) |
请求的URL已移走。Response中应该包含一个Location URL, 说明资源如今所处的位置 |
状态码301 |
302 |
Found(已找到) |
与状态码301相似。但这里的移除是临时的。 客户端会使用Location中给出的URL,从新发送新的HTTP request |
HTTP协议详解-302 |
303 |
See Other(参见其余) |
相似302 |
|
304 |
Not Modified(未修改) |
客户的缓存资源是最新的, 要求客户端使用缓存 |
HTTP协议之缓存-304 |
4XX 客户端错误状态码
- 有时客户端会发送一些服务器没法处理的东西,好比格式错误的Request, 或者最多见的是, 请求一个不存在的URL。
状态码 |
状态消息 |
含义 |
实例 |
400 |
Bad Request (坏请求) |
请求报文中存在语法错误 |
状态码400 |
401 |
Unauthorized(未受权) |
客户端须要经过HTTP认证 |
HTTP协议之基本认证-401 |
403 |
Forbidden(禁止) |
请求被服务器拒绝了 |
状态码403 |
404 |
Not Found(未找到) |
未找到资源 |
HTTP协议详解-404 |
405 |
Method Not Allowed (不容许使用的方法) |
不支持该Request的方法 |
状态码405 |
5XX服务器错误状态码
- 有时,客户端发送了一条有效Request, Web服务器自身却出错了。多是Web服务器运行出错了,或者网站都挂了。 5XX就是用来描述服务器错误的。
状态码 |
状态消息 |
含义 |
实例 |
500 |
Internal Server Error(内部服务器错误) |
服务器遇到一个错误,使其没法为请求提供服务 |
状态码500 |
501 |
Unauthorized(未受权) |
客户端须要经过HTTP认证 |
状态码501 |
502 |
Bad Gateway(网关故障) |
代理使用的服务器遇到了上游的无效响应 |
状态码502 |
503 |
Service Unavailable(未提供此服务) |
服务器处于超负载或正在停机维护,没法处理请求 |
|
505 |
HTTP Version Not Supported(不支持的HTTP版本 |
服务器收到的请求使用了它不支持的HTTP协议版本 |
状态码505 |
http://blog.csdn.net/wu_cai_/article/details/51030164数组