HTTP状态码负责表示客户端HTTP请求返回的结果、标记服务器端的处理是否正常、通知出现的错误等工作。
常用状态码共分5大类:
1XX:Informational,信息性状态码,接收的请求正在处理。
2XX:Success,成功状态码,请求正常处理完毕。
3XX:Redirection,重定向状态码,需要进行附加操作以完成请求。
4XX:Client Error,客户端错误状态码,服务器无法处理请求。
5XX:Server Error,服务器错误状态码,服务器处理请求出错。
1. 2XX
- 200 OK,请求被正常处理。
- 204 No Content,请求被成功处理,但响应报文中没有实体的主体部分。
- 206 Partial Content,范围请求被成功处理。
2. 3XX
- 301 Moved Permanently,永久性重定向。资源已被分配新的URI。
- 302 Found,临时性重定向。
- 303 See Other,和302有相同的功能,但303明确表示客户端应用GET方法。
- 307 Temporary Redirect,临时性重定向。
- 304 Not Modified,附带条件的请求,未被满足。
注意:当301、302、303响应状态码返回时,几乎所有的浏览器都会把POST改成GET,并铲除请求报文内的主体,之后请求会自动重发。
301、302标准是禁止将POST改成GET的,但实际上大家都这么做。只有307遵循标准,不会将POST改成GET。
3. 4XX
- 400 Bad Request,请求报文中存在语法错误。
- 401 Unauthorized,发送的请求需要HTTP认证,若另外请求过一次,则表示用户认证失败。
- 403 Forbidden,请求被拒绝。
- 404 Not Found,服务器上无法找到请求的资源。
4. 5XX
- 500 Internal Sever Error,服务器故障。
- 503 Service Unavailable,服务器处于超负载或正在停机维修,现在无法处理请求。