当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含http状态码的信息头(server header)用以响应浏览器的请求。
服务器响应中的 status-code 元素是一个 3 位整数,其中 status-code 的第一位数字定义响应的类别,最后两位数字没有任何分类作用。第一个数字有 5 个值:
序号 |
代码 |
描述 |
1 |
1xx:信息 |
这意味着已收到请求并且该过程正在继续。 |
2 |
2xx:成功 |
这意味着动作被成功接收、解析和接受。 |
3 |
3xx:重定向 |
这意味着必须采取进一步行动才能完成请求。 |
4 |
4xx:客户端请求错误 |
这意味着请求包含不正确的语法或无法完成请求。 |
5 |
5xx:服务器错误 |
这意味着服务器未能满足明显有效的请求,可能服务端程序有错误。 |
http 状态代码是可扩展的,并且 http 应用程序不需要了解所有已注册状态代码的含义。下面给出了所有状态代码的列表。
1xx:信息
状态码 |
名称 |
描述 |
100 |
continue |
服务器只收到了一部分请求,但只要没有被拒绝,客户端就应该继续请求。 |
101 |
switching protocols |
服务器切换协议。 |
2xx:成功
状态码 |
名称 |
描述 |
200 |
ok |
请求正常。 |
201 |
created |
请求完成,并创建了一个新资源。 |
202 |
accepted |
接受请求进行处理,但处理未完成。 |
203 |
non-authoritative information |
实体标头中的信息来自本地或第三方副本,而不是来自原始服务器。 |
204 |
no content |
响应中给出了状态代码和标头,但响应中没有实体主体。 |
205 |
reset content |
浏览器应清除用于此交易的表单以进行额外输入。 |
206 |
partial content |
服务器正在返回请求大小的部分数据。用于响应指定range标头的请求。服务器必须使用content-range标头指定响应中包含的范围。 |
3xx:重定向
状态码 |
名称 |
描述 |
300 |
multiple choices |
多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择 |
301 |
moved permanently |
永久移动。请求的资源已被永久的移动到新uri,返回信息会包括新的uri,浏览器会自动定向到新uri。今后任何新的请求都应使用新的uri代替 |
302 |
found |
临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有uri |
303 |
see other |
查看其它地址。与301类似。使用get和post请求查看 |
304 |
not modified |
未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源 |
305 |
use proxy |
使用代理。所请求的资源必须通过代理访问 |
306 |
unused |
已经被废弃的http状态码 |
307 |
temporary redirect |
临时重定向。与302类似。使用get请求重定向 |
4xx:客户端错误
状态码 |
名称 |
描述 |
400 |
bad request |
客户端请求的语法错误,服务器无法理解 |
401 |
unauthorized |
请求要求用户的身份认证 |
402 |
payment required |
保留,将来使用 |
403 |
forbidden |
服务器理解请求客户端的请求,但是拒绝执行此请求 |
404 |
not found |
服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面 |
405 |
method not allowed |
客户端请求中的方法被禁止 |
406 |
not acceptable |
服务器无法根据客户端请求的内容特性完成请求 |
407 |
proxy authentication required |
请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权 |
408 |
request time-out |
服务器等待客户端发送的请求时间过长,超时 |
409 |
conflict |
服务器完成客户端的 put 请求时可能返回此代码,服务器处理请求时发生了冲突 |
410 |
gone |
客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置 |
411 |
length required |
服务器无法处理客户端发送的不带content-length的请求信息 |
412 |
precondition failed |
客户端请求信息的先决条件错误 |
413 |
request entity too large |
由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个retry-after的响应信息 |
414 |
request-uri too large |
请求的uri过长(uri通常为网址),服务器无法处理 |
415 |
unsupported media type |
服务器无法处理请求附带的媒体格式 |
416 |
requested range not satisfiable |
客户端请求的范围无效 |
417 |
expectation failed |
服务器无法满足expect的请求头信息 |
5xx:服务器错误
状态码 |
名称 |
描述 |
500 |
internal server |
error 服务器内部错误,无法完成请求 |
501 |
not implemented |
服务器不支持请求的功能,无法完成请求 |
502 |
bad gateway |
作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应 |
503 |
service unavailable |
由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的retry-after头信息中 |
504 |
gateway time-out |
充当网关或代理的服务器,未及时从远端服务器获取请求 |
505 |
http version not supported |
服务器不支持请求的http协议的版本,无法完成处理 |