RFC 规定 HTTP 的状态码为三位数,被分为五类:
表示临时响应并需要请求者继续执行操作的状态代码。
状态码 | 含义 | 说明 |
---|---|---|
100 | Continue | (继续)请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 |
101 | Switching Protocols | (交换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。 |
102 | Processing | (处理中)该代码表示服务器已经收到并正在处理请求,但无响应可用。[6]这样可以防止客户端超时,并假设请求丢失。 |
表示成功处理了请求的状态代码。
状态码 | 含义 | 说明 |
---|---|---|
200 | OK | (成功)服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 |
201 | Created | (已创建)请求成功并且服务器创建了新的资源。 |
202 | Accepted | (已接受)服务器已接受请求,但尚未处理。 |
203 | Non-Authoritative Information | (非授权信息)服务器已成功处理了请求,但返回的信息可能来自另一来源。 |
204 | No Content | (无内容)服务器成功处理了请求,但没有返回任何内容。 |
205 | Reset Content | (重置内容)服务器成功处理了请求,但没有返回任何内容。 |
206 | Partial Content | (部分内容)服务器成功处理了部分 GET 请求。使用场景为 HTTP 分块下载和断点续传,当然也会带上相应的响应头 Content-Range 。 |
207 | Multi-Status | (多状态)代表之后的消息体将是一个 XML 消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。 |
208 | Already Reported | (已报告)DAV 绑定的成员已经在(多状态)响应之前的部分被列举,且未被再次包含。 |
226 | IM Used | (使用的)服务器已经满足了对资源的请求,对实体请求的一个或多个实体操作的结果表示。 |
表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
状态码 | 含义 | 说明 |
---|---|---|
300 | Multiple Choices | (多种选择)针对请求,服务器可执行多种操作。服务器可根据请求者选择一项操作,或提供操作列表供请求者选择 |
301 | Moved Permanently | (永久重定向)请求的网页已永久移动到新位置。服务器返回此响应时,会自动将请求者转到新位置(响应头 Location 为新 URL) |
302 | Found | (临时重定向)请求的网页已转移到新 URL,Location 首部返回新的 URL,但请求者后续仍然使用原有位置来进行请求 |
303 | See Other | (查看其他位置)请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码 |
304 | Not Modified | (未修改)自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容 |
305 | Use Proxy | (使用代理)请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理 |
307 | Temporary Redirect | (临时重定向)与 302 类似,唯一区别是不允许将请求方法从 POST 改为 GET |
308 | Permanent Redirect | (永久重定向) 请求和所有将来的请求应该使用另一个 URI 重复 |
这些状态代码表示请求可能出错,妨碍了服务器的处理。
状态码 | 含义 | 说明 |
---|---|---|
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 Timeout | (请求超时)服务器等候请求时发生超时。 |
409 | Conflict | (冲突)服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。 |
410 | Gone | (已删除)如果请求的资源已永久删除,服务器就会返回此响应。 |
411 | Length Required | (需要有效长度)服务器不接受不含有效内容长度标头字段的请求。 |
412 | Precondition Failed | (未满足前提条件)服务器未满足请求者在请求中设置的其中一个前提条件。 |
413 | Payload Too Large | (请求实体过大)服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。 |
414 | URI Too Long | (请求的 URI 过长)请求的 URI(通常为网址)过长,服务器无法处理。 |
415 | Unsupported Media Type | (不支持的媒体类型)请求的格式不受请求页面的支持。 |
416 | Range Not Satisfiable | (请求范围不符合要求)如果页面无法提供请求的范围,则服务器会返回此状态代码。 |
417 | Expectation Failed | (未满足期望值)服务器未满足"期望"请求标头字段的要求。 |
422 | Unprocessable Entity | **(不可处理的实体)**请求格式正确,但是由于含有语义错误,无法响应。 |
423 | Locked | **(已锁定)**当前资源被锁定。 |
424 | Failed Dependency | **(失败的依赖)**由于之前的某个请求发生的错误,导致当前请求失败。 |
431 | Request Header Fields Too Large | **(请求头过大)**请求头的字段内容太大。 |
这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
状态码 | 说明 | |
---|---|---|
500 | Internal Server Error | (服务器内部错误)) 通用错误消息,服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。 |
501 | Not Implemented | (未执行)服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。 |
502 | Bad Gateway | (错误网关)服务器作为网关或代理,从上游服务器收到无效响应。 |
503 | Service Unavailable | (服务不可用)服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。 |
504 | Gateway Timeout | (网关超时)服务器作为网关或代理,但是没有及时从上游服务器收到请求。 |
505 | HTTP Version Not Supported | (HTTP 版本不受支持)服务器不支持请求中所用的 HTTP 协议版本。 |
506 | Variant Also Negotiates | (变体也进行协商) |
507 | Insufficient Storage | (存储空间不足)服务器无法存储完成请求所必须的内容。 |
508 | Loop Detected | (检测到循环)服务器在处理请求时陷入死循环。 |
509 | Bandwidth Limit Exceeded | (带宽限制超出) |
510 | Not Extended | (未满足)获取资源所需要的策略并没有被满足。 |
511 | Network Authentication Required | (网络认证需要)客户端需要进行身份验证才能获得网络访问权限,旨在限制用户群访问特定网络。 |
黑体状态码为常见状态码