HTTP状态码列表
这是
超文本传输协议
(HTTP)响应状态代码的列表。
状态码由服务器响应客户端对服务器的请求而发出。
它包括来自IETF
征求意见
(RFC)的代码,其他规范以及用于
超文本传输协议
(HTTP)的
一些常见应用程序的一些附加代码
。
状态代码的第一个数字指定了五个标准类别的响应中的一个。
所示的消息短语是典型的,但可以提供任何人类可读的替代方案。
除非另有说明,否则状态码是HTTP / 1.1标准
的一部分。
在
互联网编号分配机构
(IANA)维护的HTTP状态代码正式注册。
微软
Internet信息服务
(IIS),有时使用更具体的信息,另外小数子码,
然而,这些子代码只出现在响应有效载荷和文档,而不是在一个实际的HTTP状态代码的地方。
1xx信息响应
信息性回应表明该请求已收到并被理解。
它是在临时的基础上发布的,而请求处理仍在继续。
它提醒客户等待最后的回应。
该消息仅由状态行和可选标题字段组成,并以空行结束。
由于HTTP / 1.0标准没有定义任何1xx状态码,
除了实验条件外
,服务器
不得
向符合HTTP / 1.0的客户端发送1xx响应。
-
服务器已收到请求标头,客户端应继续发送请求正文(在需要发送正文请求的情况下,例如
POST
请求)。
在拒绝不合适的标题请求后,向服务器发送大型请求主体效率不高。
为了让服务器检查请求的头文件,客户端必须
Expect: 100-continue
在其初始请求中作为头
发送
,并
100 Continue
在发送主体之前接收响应中
的
状态码。
如果客户端收到错误代码,如403(禁止)或405(方法不允许),则不应发送请求的正文。
答复
417 Expectation Failed
表明,该请求应该重复而没有
Expect
头,因为它表示服务器不支持期望值(例如,HTTP / 1.0服务器就是这种情况)。
-
请求者已经请求服务器切换协议,并且服务器已经同意这么做。
-
WebDAV请求可能包含许多涉及文件操作的子请求,需要很长时间才能完成请求。
此代码表示服务器已收到并正在处理该请求,但尚未有任何响应。
这防止客户端超时并假设请求丢失。
-
用于在文件HTTP消息之前返回一些响应头。
100继续
101交换协议
102处理
103早期提示
2xx成功
这类状态代码表明客户要求的行为已被接收,理解和接受。
-
成功HTTP请求的标准响应。
实际的响应将取决于使用的请求方法。
在GET请求中,响应将包含与请求资源相对应的实体。
在POST请求中,响应将包含描述或包含操作结果的实体。
-
请求已完成,从而创建新资源。
-
该请求已被接受处理,但处理尚未完成。
该请求可能会或可能不会最终执行,并且在处理发生时可能会被禁止。
-
服务器是一个转换代理(例如
Web加速器
),它从原始地址接收到200 OK,但返回的是原始响应的修改版本。
-
服务器成功处理了请求并且没有返回任何内容。
-
服务器成功处理了请求,但未返回任何内容。
与204响应不同,此响应要求请求者重置文档视图。
-
由于客户端发送的范围标题
,服务器仅传递部分资源(
字节服务
)。
HTTP客户端使用范围标题来启用中断下载的恢复,或将下载分割为多个同步流。
-
接下来的消息主体默认是
XML
消息,并且可以包含多个单独的响应代码,具体取决于创建了多少个子请求。
-
DAV绑定的成员已经在(multistatus)响应的前一部分中枚举,并且不再被包含。
-
服务器已经完成了对资源的请求,并且该响应表示应用于当前实例的一个或多个实例操作的结果。
200 OK
201创建
202接受
203非权威信息(自HTTP / 1.1以来)
204无内容
205重置内容
206部分内容
207多状态
208已报告
226使用的IM
3xx重定向
这类状态码表明客户必须采取额外的行动来完成请求。
这些状态码中的很多都用于
URL重定向
。
只有在第二个请求中使用的方法是GET或HEAD时,用户代理才可以在没有用户交互的情况下执行附加操作。
用户代理可能会自动重定向请求。
用户代理应检测并干预以防止周期性重定向。
-
指示客户可以从中选择的资源的多个选项(通过
代理驱动的内容协商
)。
例如,此代码可用于呈现多个视频格式选项,列出具有不同
文件名扩展名的文件
,或建议
词义消歧
。
-
这个和所有将来的请求都应该指向给定的
URI
。
-
这是与标准相矛盾的行业实践的一个例子。
HTTP / 1.0规范(RFC 1945)要求客户端执行临时重定向(原始描述短语是“暂时移动”)
,
但流行的浏览器使用303 See Other的功能实现302。
因此,HTTP / 1.1添加了状态码303和307来区分这两种行为。
[
然而,一些Web应用程序和框架使用302状态代码,就好像它是303一样。
-
可以
使用GET方法
在另一个
URI
下找到对请求的响应
。
当收到响应POST(或PUT / DELETE)的响应时,客户端应该假定服务器已经收到数据并且应该向给定的URI发出一个新的GET请求
。
-
表示自
请求标头
If-Modified-Since或If-None-Match
指定的版本后,资源未被修改
。
在这种情况下,由于客户端仍然具有先前下载的副本,所以不需要重新传输资源。
-
请求的资源只能通过代理服务器获得,代理服务器的地址在响应中提供。
主要出于安全原因,
许多HTTP客户端(如
Mozilla
和
Internet Explorer
)无法正确处理此状态码的响应。
-
不再使用。
原本的意
思是“后续的请求应该使用指定的代理。”
-
在这种情况下,请求应该用另一个URI重复;
但是,未来的请求应该仍然使用原始URI。
与历史上实现302的方式不同,请求方法在重新发送原始请求时不允许更改。
例如,应该使用另一个POST请求重复POST请求。
-
请求和所有将来的请求应该使用另一个URI重复。
307和308与302和301的行为并行,但
不允许HTTP方法改变
。
因此,例如,将表单提交给永久重定向的资源可能会继续顺利进行。
300多种选择
301永久移动
302找到
303查看其他
(自HTTP / 1.1)
304未修改
305使用代理(自HTTP / 1.1)
306交换机代理
307临时重定向(自HTTP / 1.1以来)
308永久重定向
4xx客户端错误
400错误请求
这类状态码适用于错误似乎是由
客户端
引起的情况。
除了响应HEAD请求外,服务器
应该
包含一个包含错误情况说明的实体,以及它是临时还是永久状态。
这些状态码适用于任何请求方法。
用户代理
应该
向用户显示任何包含的实体。
由于明显的客户端错误(例如,格式错误的请求语法,大小过大,无效的请求消息帧或欺骗性请求路由),服务器无法或不会处理该请求。
-
与
403 Forbidden
类似
,但专门用于需要认证且失败或尚未提供的情况。
响应必须包含一个WWW-Authenticate标题字段,其中包含适用于所请求资源的挑战
。
[
401
]
语义上意味着
“未经认证”
,
即用户没有必要的凭证。
-
注意:当
IP地址
被禁止访问网站(通常是网站域)并且该特定地址被拒绝访问网站
时,某些网站会发出HTTP 401
。
-
保留以供将来使用。
最初的意图是,该代码可能被用作某种形式的
数字现金
或
微支付
方案的一部分,例如GNU Taler
,但尚未发生,并且通常不使用此代码。
如果某个开发者的请求超出了每日限制,
Google Developers
API会使用此状态。
-
该请求是有效的,但服务器拒绝采取行动。
用户可能没有资源所需的权限,或者可能需要某种帐户。
-
找不到请求的资源,
但可能在将来可用。
客户的后续请求是允许的。
-
所请求的资源不支持请求方法;
例如,需要通过
POST
呈现数据的表单上的GET请求
,或只读资源上的PUT请求。
-
请求的资源只能根据请求中发送的Accept头生成不可接受的内容。
-
客户端必须首先使用
代理进行
身份验证
。
-
服务器超时等待请求。
根据HTTP规范:“客户端在服务器准备等待的时间内没有发出请求,客户可以在以后不做任何修改的情况下重复请求。”
-
表示请求因请求发生冲突而无法处理,例如
多个同时更新之间
的
编辑冲突
。
-
表示所请求的资源不再可用,并且不再可用。
这应该在资源被有意删除并且资源被清除时使用。
在收到410状态码后,客户不应在未来请求资源。
诸如搜索引擎之类的客户应该从其索引中移除资源。
大多数用例不要求客户端和搜索引擎清除资源,而是可以使用“404 Not Found”。
-
请求没有指定请求资源所需的内容的长度。
-
服务器不符合请求者提出请求的前提条件之一。
-
该请求比服务器愿意或能够处理的要大。
以前称为“请求实体太大”。
-
提供
的
URI
太长,服务器无法处理。
通常是由于太多数据被编码为GET请求的查询字符串,在这种情况下,它应该转换为POST请求。
之前
称为“Request-URI太长”。
-
请求实体具有
服务器或资源不支持
的
媒体类型
。
例如,客户端将图像上传为
image / svg + xml
,但服务器要求图像使用不同的格式。
-
客户端要求提供文件的一部分(
字节服务
),但服务器无法提供该部分。
例如,如果客户端要求文件末尾以外的部分文件。
之前
称为“请求的范围不可满足”。
-
服务器不能满足Expect请求头字段的要求。
-
该请求针对的是无法产生响应的服务器。
(
例如,由于连接回用)
-
请求格式良好,但由于语义错误无法遵循。
-
正在访问的资源被锁定。
-
请求失败,因为它依赖于另一个请求,并且该请求失败(例如PROPPATCH)。
-
客户端应该切换到不同的协议,例如
升
级标题
字段中
给出的
TLS / 1.0
。
-
原始服务器要求该请求是有条件的。
为了防止“丢失更新”问题,客户端获取资源的状态,修改它并将其重新发回服务器,同时第三方修改了服务器上的状态,导致冲突。“
-
用户在给定的时间内发送了太多的请求。
旨在用于
速率限制
方案。
-
服务器不愿意处理该请求,因为单个标题字段或所有标题字段的集体太大。
-
服务器运营商已收到合法要求,拒绝访问资源或包含请求资源的一组资源
。
401未经授权
402需要付款
403禁止
404未找到
405方法不允许
406不可接受
需要407代理验证
408请求超时
409冲突
410消失
411长度要求
412先决条件失败
413有效负载太大
414 URI太长
415不支持的媒体类型
416范围不可满足
417期望失败
421误导请求
422不可处理的实体
423锁定
424失败依赖
需要升级426
428先决条件要求
429太多请求
431请求标头字段太大
451不可用法律原因
5xx服务器错误
服务器无法完成请求。
以数字“5”开头的响应状态代码指示服务器意识到它遇到错误或无法执行请求的情况。
除了响应HEAD请求之外,服务器
应该
包含一个包含错误情况说明的实体,并指出它是临时还是永久状态。
同样,用户代理
应该
向用户显示任何包含的实体。
这些响应代码适用于任何请求方法。
-
通用错误消息,在遇到意外情况时给出并且没有更具体的消息适用。
-
服务器要么不识别请求方法,要么缺乏完成请求的能力。
通常这意味着未来的可用性(例如,Web服务API的新特性)。
-
服务器充
当
网关
或代
理,并收到来自上游服务器的无效响应。
-
服务器当前不可用(因为它过载或因维护而关闭)。
一般来说,这是一个暂时的状态。
-
服务器充当网关或代理服务器,没有收到来自上游服务器的及时响应。
-
服务器不支持请求中使用的HTTP协议版本。
-
对请求的
透明
内容协商
会产生
循环引用
。
-
服务器无法存储完成请求所需的表示。
-
服务器在处理请求时检测到无限循环(代替
208已报告
发送
)。
-
服务器需要对请求进一步扩展才能实现它。
-
客户端需要进行身份验证才能获得网络访问权限。
通过拦截用于控制对网络的访问的代理(例如,
用于在通过
Wi-Fi热点
授予完全互联网访问之前需要与服务条款达成协议的
“
专属门户
”)来使用
。
-
500内部服务器错误
501未实施
502错误的网关
503服务不可用
504网关超时
不支持505 HTTP版本
506变式也协商
507存储不足
508环路检测
510不扩展
需要511网络认证
非官方代码
以下代码未由任何标准规定。
-
在可恢复请求建议中使用,以恢复异常终止或POST请求。
-
Spring Framework在方法失败时使用的弃用响应。
-
当客户受限速时,由Twitter搜索和趋势API的第1版返回;
1.1版和更高版本使用
429“太多请求”
响应代码。
-
当Windows家长控制打开并阻止访问请求的网页时,指示的Microsoft扩展代码。
-
由
ArcGIS for Server
返回
。
代码4
98表示已过期或无效的令牌。
-
由
ArcGIS for Server
返回
。
代码499表示需要令牌但未提交。
-
服务器已超出服务器管理员指定的带宽;
这通常由共享主机提供商用来限制客户的带宽。
-
由
万神殿
网络平台使用,表示由于不活动而被冻结的网站。
-
由某些HTTP代理用于向代理前面的客户端发送代理服务器后面的网络读取超时信号。
103检查站
420方法失败(
Spring框架
)
420增强你的平静(
Twitter
)
450由Windows家长控制(Microsoft)阻止
498令牌无效(Esri)
4
99令牌要求(Esri)
超出509带宽限制(
Apache Web服务器
/
cPanel
)
530网站被冻结
598(非正式惯例)网络读取超时错
误
互联网信息服务
微软的
Internet信息服务
Web服务器扩展了4xx错误空间,以便根据客户的请求发出错误信号。
-
客户端的会话已过期,必须重新登录。
-
服务器无法兑现请求,因为用户未提供所需的信息。
-
当更有效的服务器可用或服务器无法访问用户的邮箱时,
用于
Exchange ActiveSync
。
客户端需要重新运行HTTP AutoDiscover操作来查找更合适的服务器。
440登录超时
449重试
451重定向
nginx
在
nginx的
Web服务器软件扩展了4xx错误的空间信号与客户端的请求的问题。
-
内部使用
指示服务器不向客户端返回任何信息并立即关闭连接。
-
客户端发送的请求太大或标题行太长。
-
400错误请求
响应代码
的扩展
,当客户端提供了无效的
客户端证书时使用
。
-
400错误请求
响应代码
的扩展
,当需要客
户端证书但未提供时使用。
-
当客户端向侦听HTTPS请求的端口发出HTTP请求时使用
的
400错误请求
响应代码
的扩展
。
-
当客户端在服务器发送响应之前关闭请求时使用。
444没有回应
494请求标题太大
495 SSL证书错误
需要496 SSL证书
497 HTTP请求已发送到HTTPS端口
499客户关闭请求
Cloudflare
Cloudflare
的反向代理服务扩展了5xx系列的错误空间,以指示源服务器的问题。
-
将520错误用作“原始服务器返回意外事件时的全部响应”,列出连接重置,大标题以及作为常见触发器的空或无效响应。
-
原始服务器已
拒绝Cloudflare的连接。
-
Cloudflare无法
与原始服务器
协商
TCP握手
。
-
Cloudflare无法访问原始服务器;
例如,如果
源服务器
的
DNS记录
不正确。
-
Cloudflare能够完成与原始服务器的TCP连接,但未收到及时的HTTP响应。
-
Cloudflare无法
与原始服务器
协商
SSL / TLS握手
。
-
Cloudflare无法验证源服务器提供的SSL / TLS证书。
-
错误527表示WAN连接建立后请求超时或失败。
520未知错误
521 Web服务器已关闭
522连接超时
523来源无法到达
524超时发生
525 SSL握手失败
526 SSL证书无效
527轨道炮错误