状态码的类别
类别 | 原因短语 | |
---|---|---|
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
首部字段再返回给客户端。