我们知道 http 响应报文的首部字段中,第一行就显示的是 http 响应的状态码等信息。
那 http 响应状态码有多少类别呢?
我们比较熟悉的有 200(请求成功),502(服务器错误),404(文件找不到),304(资源重定向)等。下面详细介绍一下这些 http 响应状态码
类别
说明
1XX
Informational(信息性状态码)
接收的请求正在处理
2XX
Success(成功状态码)
请求正常处理完毕
3XX
Redirection(重定向状态码)
需要进行附加操作以完成请求
4XX
Client Error(客户端错误状态码)
服务器无法处理请求
5XX
Server Error(服务器错误状态码)
服务器处理请求出错
状态的类别主要分成上表中的 5 中类型,http 状态码种类繁多,实际上经常使 用的大概只有 14 种。接下来,我们就介绍一下这些具有代表性的状态码。
状态码
类别
说明
200
OK
客户端发来的请求在服务器端被正常处理,并返回相应的请求值
204
No Content
该状态码代表服务器接收的请求已成功处理,但在返回的响应报文 中不含实体的主体部分。
206
Partial Content
该状态码表示客户端进行了范围请求,而服务器成功执行了这部分 的 GET 请求。响应报文中包含由 Content-Range 指定范围的实体内容。
300
请求成功,但结果有多种选择
301
Moved Permanently
永久性重定向。该状态码表示请求的资源已被分配了新的 URI,以 后应使用资源现在所指的 URI。
302
Found
临时性重定向。该状态码表示请求的资源已被分配了新的 URI,希 望用户 (本次) 能使用新的 URI 访问。
303
See Other
该状态码表示由于请求对应的资源存在着另一个 URI,应使用 GET 方法定向获取请求的资源
304
Not Modified
该状态码表示客户端发送附带条件的请求 A 时,服务器端允许请求 访问资源,但未满足条件的情况
307
Temporary Redirect
临时重定向。
400
Bad Request
该状态码表示请求报文中存在语法错误。
401
Unauthorized
该状态码表示发送的请求需要有通过 HTTP 认证 (BASIC 认证、DIGEST 认证) 的认证信息。另外若之前已进行过 1 次请求,则表示用 户认证失败。
403
Forbidden
该状态码表明对请求资源的访问被服务器拒绝了。
404
Not Found
该状态码表明服务器上无法找到请求的资源
500
Internal Server Error
该状态码表明服务器端在执行请求时发生了错误。
503
Service Unavailable
该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无 法处理请求。
除了上面常用的状态码之外,我们还可以自定义一些响应状态码。正确运用返回值的状态码,能够给我们客户端对结果的操作带来很大益处。