原文地址转自自己的博客 http://www.ablogs.cn/blog/42
HTTP的状态码
HTTP状态码的作用
服务器返回的响应报文中第一行为状态行,包含了状态码以及原因短句,用来告知客户端请求的结果。通过不同的状态码,可以查看服务端是否成功处理了请求以及请求中发生的情况。
状态码 | 类型 | 含义 |
---|
1XX | Informational(信息性状态码) | 接收的请求正在处理 |
2XX | Success(成功状态码) | 请求正常处理完毕 |
3XX | Redirection(重定向状态码) | 需要进行附加操作以完成请求 |
4XX | Client Error(客户端错误状态码) | 服务器无法处理请求 |
5XX | Server Error(服务器错误状态码) | 服务器处理请求出错 |
1XX信息
状态码 | 描述 | 含义 |
---|
100 | Continue | 表明到目前为止都很正常,客户端可以继续发送请求或者忽略这个响应。 |
2XX成功
状态码 | 描述 | 含义 |
---|
200 | OK | |
204 | No Content | 请求已经成功处理,但是返回的响应报文不包含实体的主体部分。一般在只需要从客户端往服务器发送信息,而不需要返回数据时使用。 |
206 | Partial Content | 表示客户端进行了范围请求,响应报文包含由Content-Range 指定范围的实体内容。 |
3XX重定向
状态码 | 描述 | 含义 |
---|
301 | Moved Permanently | 永久性重定向 |
302 | Found | 临时性重定向 |
303 | See Other | 和302有着相同的功能,但是303明确要求客户端应该采用GET方法获取资源。 |
304 | Not Modified | 如果请求报文首部包含一些条件,例如:if-Match,if-Modified-Since,if-None-Match,if-Range if-Unmodified-Since,如果不满足条件,则服务器会返回304状态码 |
307 | Temporary Redirect | 临时重定向,与302的含义类似,但是307要求浏览器不会把重定向请求的POST方法改为GET方法。 |
注:虽然HTTP协议规定301、302状态下重定向时不允许把POST方法改为GET方法,但是大多数浏览器都会在301、302和303状态下的重定向把POST方法改为GET方法。
4XX客户端错误
状态码 | 描述 | 含义 |
---|
400 | Bad Request | 请求报文中存在语法错误 |
401 | Unauthorized | 该状态码表示发送的请求需要有认证信息(BASIC认证、DIGEST认证)。如果之前已进行一次请求,则表示用户认证失败。 |
403 | Forbidden | 请求被拒绝 |
404 | NotFound | 页面未找到 |
5XX服务器错误
状态码 | 描述 | 含义 |
---|
500 | Internal Server Error | 服务器正在执行请求时发生错误 |
503 | Service Unavailable | 服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。 |