HTTP状态码分类
1XX:消息
这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。
状态码 |
英文名称 |
描述 |
100 |
Continue |
客户端应该继续请求,如果已经完成,则忽略它。 |
101 |
Switching Protocols |
该代码是响应客户端的Upgrade标头发送的,并且指示服务器也正在切换的协议。 |
102 |
Processing |
服务器已经收到并正在处理请求,但无响应可用。 |
103 |
Early Hints |
用来在最终的HTTP消息之前返回一些响应头。 |
2XX:成功
这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。
状态码 |
英文名称 |
描述 |
200 |
OK |
请求已成功,请求所希望的响应头或数据体将随此响应返回。 |
201 |
Created |
请求已经被实现,而且有一个新的资源已经依据请求的需要而创建,且其URI已经随Location头信息返回。 |
202 |
Accepted |
服务器已接受请求,但尚未处理。 |
203 |
Non-Authoritative Information |
服务器是一个转换代理服务器,以200 OK状态码为起源,但回应了原始响应的修改版本。 |
204 |
No Content |
服务器成功处理了请求,没有返回任何内容。 |
205 |
Reset Content |
服务器成功处理了请求,但没有返回任何内容。与204响应不同,此响应要求请求者重置文档视图。 |
206 |
Partial Content |
服务器已经成功处理了部分GET请求。 |
207 |
Multi-Status |
代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。 |
208 |
Already Reported |
DAV绑定的成员已经在(多状态)响应之前的部分被列举,且未被再次包含。 |
226 |
IM Used |
服务器已经满足了对资源的请求,对实体请求的一个或多个实体操作的结果表示。 |
3XX:重定向
这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。
状态码 |
英文名称 |
描述 |
300 |
Multiple Choices |
被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议信息。用户或浏览器能够自行选择一个首选的地址进行重定向。 |
301 |
Moved Permanently |
被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。 |
302 |
Found |
要求客户端执行临时重定向。 |
303 |
See Other |
对应当前请求的响应可以在另一个URI上被找到,当响应于POST接收到响应时,客户端应该假定服务器已经收到数据,并且应该使用单独的GET消息发出重定向。 |
304 |
Not Modified |
资源在由请求头中的If-Modified-Since或If-None-Match参数指定的这一版本之后,未曾被修改。在这种情况下,由于客户端仍然具有以前下载的副本,因此不需要重新传输资源。 |
305 |
Use Proxy |
被请求的资源必须通过指定的代理才能被访问。 |
306 |
Switch Proxy |
在最新版的规范中,306状态码已经不再被使用。最初是指“后续请求应使用指定的代理”。 |
307 |
Temporary Redirect |
与302相反,当重新发出原始请求时,不允许更改请求方法。 |
308 |
Permanent Redirect |
请求和所有将来的请求应该使用另一个URI重复。 |
4XX:客户端错误
这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。
状态码 |
英文名称 |
描述 |
400 |
Bad Request |
由于明显的客户端错误,服务器不能或不会处理该请求。 |
401 |
Unauthorized |
类似于403 Forbidden,401语义即未认证,即用户没有必要的凭据。 |
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 |
服务器拒绝在没有定义Content-Length头的情况下接受请求。 |
412 |
Precondition Failed |
服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个。 |
413 |
Request Entity Too Large |
服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围。 |
414 |
Request-URI Too Long |
请求的URI长度超过了服务器能够解释的长度,因此服务器拒绝对该请求提供服务。 |
415 |
Unsupported Media Type |
对于当前请求的方法和所请求的资源,请求中提交的互联网媒体类型并不是服务器中所支持的格式,因此请求被拒绝。 |
416 |
Requested Range Not Satisfiable |
客户端已经要求文件的一部分,但服务器不能提供该部分。 |
417 |
Expectation Failed |
在请求头Expect中指定的预期内容无法被服务器满足,或者这个服务器是一个代理服显的证据证明在当前路由的下一个节点上,Expect的内容无法被满足。 |
418 |
I'm a teapot |
这个HTTP状态码在某些网站与项目中用作彩蛋。 |
421 |
Misdirected Request |
该请求针对的是无法产生响应的服务器。 |
422 |
Unprocessable Entity |
请求格式正确,但是由于含有语义错误,无法响应。 |
423 |
Locked |
当前资源被锁定。 |
424 |
Failed Dependency |
由于之前的某个请求发生的错误,导致当前请求失败。 |
425 |
Too Early |
服务器拒绝处理在Early Data中的请求,以规避可能的重放攻击。 |
426 |
Upgrade Required |
客户端应切换到Upgrade头字段中给出的不同协议。 |
428 |
Precondition Required |
原服务器要求该请求满足一定条件。 |
429 |
Too Many Requests |
用户在给定的时间内发送了太多的请求。 |
431 |
Request Header Fields Too Large |
服务器不愿处理请求,因为一个或多个头字段过大。 |
451 |
Unavailable For Legal Reasons |
该访问因法律的要求而被拒绝,由IETF在2015核准后新增加。 |
5XX:服务器错误
这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。
状态码 |
英文名称 |
描述 |
500 |
Internal Server Error |
通用错误消息,服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。 |
501 |
Not Implemented |
服务器不支持当前请求所需要的某个功能。 |
502 |
Bad Gateway |
作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。 |
503 |
Service Unavailable |
由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是暂时的,并且将在一段时间以后恢复。 |
504 |
Gateway Timeout |
作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器或者辅助服务器收到响应。 |
505 |
HTTP Version Not Supported |
服务器不支持,或者拒绝支持在请求中使用的HTTP版本。 |
506 |
Variant Also Negotiates |
服务器存在内部配置错误。 |
507 |
Insufficient Storage |
服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。 |
508 |
Loop Detected |
服务器在处理请求时陷入死循环。 |
510 |
Not Extended |
获取资源所需要的策略并没有被满足。 |
511 |
Network Authentication Required |
客户端需要进行身份验证才能获得网络访问权限,旨在限制用户群访问特定网络。 |
非官方状态码
状态码 |
英文名称 |
描述 |
420 |
Enhance Your Calm |
Twitter Search与Trends API在客户端被限速的情况下返回。 |
444 |
No Response |
Nginx上HTTP服务器扩展。服务器不向客户端返回任何信息,并关闭连接(有助于阻止恶意软件)。 |
450 |
Blocked by Windows Parental Controls |
由Windows家庭控制HTTP阻止的450状态代码的示例,用于信息和测试。 |
494 |
Request Header Too Large |
在错误代码431提出之前Nginx上使用的扩展HTTP代码。 |