目录
HTTP状态码负责表示客户端HTTP请求的返回结果、标记服务端处理是否正常、通知出现的错误等。借助于状态码,用户可以知道服务端是正常处理了请求还是出现了错误。
1. 状态码的类别
状态码的第一位数字制定了响应类别,一般分为以下五种:
响应类别 | 类别 | 原因短语 |
1xx | 信息性状态码 | 接受的请求正在处理 |
2xx | 成功状态码 | 请求已经正常处理完毕 |
3xx | 重定向状态码 | 需要进行附加操作以完成请求 |
4xx | 客户端错误状态码 | 服务器无法处理请求 |
5xx | 服务端错误状态码 | 服务器处理请求出错 |
2. 状态码详解
2.1 成功状态码
成功状态码为2xx,表明了请求已经被正常处理:
状态码 | 原因短语 | |
200 | OK | 客服端发来的请求已经被正常处理 |
204 | No Content | 请求已经成功处理,但是没有任何资源可以返回 |
206 | Partial Content | 客户端请求为范围请求(对资源某一部分的请求) 服务端成功执行了这一部分的请求 |
2.2 重定向状态码
重定向状态码为3xx,表明浏览器需要执行某些特殊的处理,才可以正常响应客户端的请求。
状态码 | 原因短语 | |
301 | Moved Permanently | 永久性重定向,表明请求的资源已经被分配了新的URI |
302 | Found | 临时性重定向,表明请求的资源已经被分配了新的URI,用户(本次)需要使用新的URI来访问 |
303 | See Other | 表明请求的资源存在另一个URI,应使用GET方法定向获取请求的资源 |
304 | Not Modified | 客户端发送的带条件的请求的时候会存在,表明服务端资源未发生改变,可以使用客户端未过期的缓存 |
307 | Temporary Redirect | 临时重定向,和302含义相同 |
2.3 客户端错误状态码
状态码 | 原因短语 | |
400 | Bad Request | 表明客户端发送的请求报文中存在语法错误,服务器无法理解 |
401 | Unauthorized | 表明发送的请求需要有通过HTTP认证的认证信息,如果之前已进行过一次请求,则表示用户认证失败 |
403 | Forbidden | 表明对服务器资源的访问被服务器拒绝了 |
404 | Not Found | 服务器上无法找到请求的资源 |
2.4 服务端错误状态码
状态码 | 原因短语 | |
500 | Internal Server Error | 服务器内部错误,无法完成请求;也可能是web应用存在某些临时故障 |
503 | Service Unavailable | 表明服务器暂时处于超负载或正在进行系统维护,现在无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中 |