状态码类别
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。
当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。
状态码 | 类别 | 分类含义 |
---|---|---|
1XX | Informational(信息性状态码) | 接收的请求正在处理 |
2XX | Success(成功状态码) | 请求正常处理完毕 |
3XX | Redirection(重定向) | 需要进行附加操作以完成请求 |
4XX | Client Error(客户端错误状态码) | 服务器无法处理请求 |
5XX | Server Error(服务器错误状态码) | 服务器处理请求出错 |
常用状态码:
- 200,请求成功
- 301,网络资源被永久转移到其他URL
- 403,请求被拒绝执行
- 404,请求失败,未找到资源
- 500,服务器内部错误
状态码细分
1xx 请求继续
1xx状态码是 HTTP/1.1 版本新定义的,用来表示请求被正常接受,会进行进一步处理。
适用于客户端准备向服务器发送一个大文件时,由于不确定服务器是否愿意接受,因此客户端发送一条报文头部包含Expect: 100-continue
的特殊请求报文,在正式传输前向服务器说明意愿,如果服务器返回100状态码便表示同意接收
状态码 | 类别 | 中文描述 |
---|---|---|
100 | Continue | 客户端部分请求被服务器接收,应继续发送请求的剩余部分 |
101 | Switching Protocols | 服务器理解了客户端的请求,并通过Upgrade消息头通知客户端采用不同协议来完成这个请求 |
102 | Processing | 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。 |
2xx 成功状态
这一组状态码表明客户端的请求已经被服务器端成功接收并正确解析。
状态码 | 类别 | 中文描述 |
---|---|---|
200 | OK | 请求成功,请求所希望的响应头或数据体将随此响应返回 |
201 | Created | 已创建。请求成功并创建了请求所需要的资源,资源URL随头部信息返回 |
202 | Accepted | 已接受。已经接受请求,但未处理完成,适用于批处理 |
203 | Non-Authoritative Information | 非授权信息。请求成功。但返回的实体头部元信息不在原始的服务器,而是而是来自本地或者第三方的拷贝 |
204 | No Content | 无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档 |
205 | Reset Content | 重置内容。服务器处理成功,用户终端应重置文档视图。可通过此返回码清空浏览器的表单数据 |
206 | Partial Content | 部分内容。服务器成功处理了部分GET请求,适用于文件分解为多段进行传输 |
207 | Multi-Status | 由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含多个独立的响应代码 |
208 | Already Reported | 响应已发送 |
226 | IM Used | 已完成响应 |
3xx 重定向
这一组状态码表示客户端需要采取更进一步的行动来完成请求。通常,这些状态码用来重定向,后续的请求地址会在本次响应的Location域中指明。
状态码 | 类别 | 中文描述 |
---|---|---|
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 | 在最新版的规范中,306状态码已经不再被使用。 |
307 | Temporary Redirect | 临时重定向。与302类似。使用GET请求重定向 |
308 | Permanent Redirect | 与301类似,且禁止改变http的请求方法 |
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 | 请求的UR长度超过了服务器能够解释的长度,服务器无法处理 |
415 | Unsupported Media Type | 服务器无法处理请求附带的媒体格式 |
416 | Requested range not satisfiable | 客户端请求的范围无效 |
417 | Expectation Failed | 服务器无法满足Expect的请求头信息 |
421 | There are too many connections from your internet address | 请求的连接数超过限制 |
422 | Unprocessable Entity | 请求的语义错误 |
423 | Locked | 当前资源被锁定 |
424 | Failed Dependency | 由于之前的某个请求发生的错误,导致当前请求失败 |
426 | Upgrade Required | 客户端应当切换到TLS/1.0。(RFC 2817) |
428 | Too Many Requests | 请求未携带条件 |
429 | Too Many Requests | 并发的请求过多 |
431 | Request Header Fields Too Large | 请求头过大 |
449 | Retry With | 由微软扩展,代表请求应当在执行完适当的操作后进行重试。 |
451 | Unavailable For Legal Reasons | 因为法律的要求导致请求被拒绝 |
499 | Client Closed Request | 客户端主动关闭了连接 |
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协议的版本,无法完成处理 |
506 | Variant Also Negotiates | 由《透明内容协商协议》(RFC 2295)扩展,代表服务器存在内部配置错误 |
507 | Insufficient Storage | 服务器无法存储完成请求所必须的内容,这个状况被认为是临时的。 |
508 | Loop Detected | 服务器因为死循环而终止操作 |
509 | Bandwidth Limit Exceeded | 服务器达到带宽限制。这不是一个官方的状态码,但是仍被广泛使用 |
510 | Not Extended | 获取资源所需要的策略并没有没满足。(RFC 2774) |
511 | Network Authentication Required | 要求进行网络验证,比如Wifi验证登录 |
599 | Network Connect Timeout Error | 网络连接超时 |
参考文章: