HTTP状态码

状态码的类别

类别 原因短语
1XX Informational(信息性状态码) 接受的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX Redirection(重定向状态码) 需要进行附加操作以完成请求
4XX Client Error(客户端错误状态码) 服务器无法处理请求
5XX Server Error(服务器错误状态码) 服务器处理请求出错

经常使用的有14种。

2XX成功

2xx的响应结果表明请求被正常处理了。

200 OK

表示从客户端发来的请求在服务端被正常处理。

GET方法:对应请求资源的实体会作为响应返回。

HEAD方法:响应中只返回首部,不会返回实体的主体部分。

204 No Content

该状态码表示服务器接收的请求已处理成功,但在返回的响应报文中不含实体的主体部分。

206 Partial Content

该状态码表明客户端进行了范围请求,而服务器成功执行了这部分GET请求,相应报文中包含由Content-Range指定范围的实体内容。

3XX 重定向

301 Moved Permanently

永久重定向。该码表示请求的资源已经被分配了新的URI,以后应使用资源现在所指向的URI。

302 Found

临时性重定向。该状态码表示请求的资源已被分配了新的URI,希望用户本次能使用新的URI访问。

303 See Other

该状态码表示由于请求对应的资源存在着另一个URI,应该用GET方法定向获取请求的资源。

304 Not Modified

该状态码表示客户端发送附加条件的请求时,服务端允许请求访问资源,但因发生请求未满足条件的情况后,直接返回304Not Modified(服务端资源未改变,可直接使用客户端未过期的缓存)。304状态码返回时,不包含任何响应的主体部分。304虽然被划分在3XX类别中,但是和重定向没有关系。

307 Temporary Redirect

临时重定向。

4XX 客户端错误

4xx的响应结果表面客户端是发生错误的原因所在。

400 Bad Request

该状态码表示请求报文中存在语法错误。

401 Unauthorized

该状态码表示发送的请求需要有通过HTTP认证(BASIC认证,DIGEST认证)的认证信息。另外若之前已进行过1次请求,则表明用户认证失败。

403 Forbidden

该状态码表明对请求资源的访问被服务器拒绝了。服务端没有必要给出拒绝的理由,但如果想说明的话,可以在实体的部分对原因进行描述,这样就能让用户看到了。

404 Not Found

该状态码表明服务器上无法找到请求的资源。

5XX

500 Internal Server Error

该状态码表面服务器端在执行时发生了错误。也有可能是web应用存在bug或者某些临时故障。

504 Service Unavailable

该状态码表明服务器处于超负载或进行停机维护,现在无法处理。如果事先得知解除以上状况需要的时间,最好写入Retry-After首部字段再返回给客户端。