HTTP状态码

HTTP状态码列表

这是超文本传输​​协议(HTTP)响应状态代码的列表。状态码由服务器响应客户端对服务器的请求而发出。它包括来自IETF 征求意见(RFC)的代码,其他规范以及用于超文本传输​​协议(HTTP)的一些常见应用程序的一些附加代码状态代码的第一个数字指定了五个标准类别的响应中的一个。所示的消息短语是典型的,但可以提供任何人类可读的替代方案。除非另有说明,否则状态码是HTTP / 1.1标准的一部分。
互联网编号分配机构(IANA)维护的HTTP状态代码正式注册。

微软Internet信息服务(IIS),有时使用更具体的信息,另外小数子码,然而,这些子代码只出现在响应有效载荷和文档,而不是在一个实际的HTTP状态代码的地方。

1xx信息响应

信息性回应表明该请求已收到并被理解。它是在临时的基础上发布的,而请求处理仍在继续。它提醒客户等待最后的回应。该消息仅由状态行和可选标题字段组成,并以空行结束。由于HTTP / 1.0标准没有定义任何1xx状态码,除了实验条件外,服务器不得向符合HTTP / 1.0的客户端发送1xx响应。

100继续
服务器已收到请求标头,客户端应继续发送请求正文(在需要发送正文请求的情况下,例如 POST 请求)。在拒绝不合适的标题请求后,向服务器发送大型请求主体效率不高。为了让服务器检查请求的头文件,客户端必须 Expect: 100-continue 在其初始请求中作为头发送,并 100 Continue 在发送主体之前接收响应中状态码。如果客户端收到错误代码,如403(禁止)或405(方法不允许),则不应发送请求的正文。答复 417 Expectation Failed 表明,该请求应该重复而没有 Expect 头,因为它表示服务器不支持期望值(例如,HTTP / 1.0服务器就是这种情况)。
101交换协议
请求者已经请求服务器切换协议,并且服务器已经同意这么做。
102处理
WebDAV请求可能包含许多涉及文件操作的子请求,需要很长时间才能完成请求。此代码表示服务器已收到并正在处理该请求,但尚未有任何响应。 这防止客户端超时并假设请求丢失。
103早期提示
用于在文件HTTP消息之前返回一些响应头。

2xx成功

这类状态代码表明客户要求的行为已被接收,理解和接受。

200 OK
成功HTTP请求的标准响应。实际的响应将取决于使用的请求方法。在GET请求中,响应将包含与请求资源相对应的实体。在POST请求中,响应将包含描述或包含操作结果的实体。
201创建
请求已完成,从而创建新资源。
202接受
该请求已被接受处理,但处理尚未完成。该请求可能会或可能不会最终执行,并且在处理发生时可能会被禁止。
203非权威信息(自HTTP / 1.1以来)
服务器是一个转换代理(例如 Web加速器 ),它从原始地址接收到200 OK,但返回的是原始响应的修改版本。
204无内容
服务器成功处理了请求并且没有返回任何内容。
205重置内容
服务器成功处理了请求,但未返回任何内容。与204响应不同,此响应要求请求者重置文档视图。
206部分内容
由于客户端发送的范围标题,服务器仅传递部分资源( 字节服务 )。HTTP客户端使用范围标题来启用中断下载的恢复,或将下载分割为多个同步流。
207多状态
接下来的消息主体默认是 XML 消息,并且可以包含多个单独的响应代码,具体取决于创建了多少个子请求。
208已报告
DAV绑定的成员已经在(multistatus)响应的前一部分中枚举,并且不再被包含。
226使用的IM
服务器已经完成了对资源的请求,并且该响应表示应用于当前实例的一个或多个实例操作的结果。

3xx重定向

这类状态码表明客户必须采取额外的行动来完成请求。这些状态码中的很多都用于URL重定向

只有在第二个请求中使用的方法是GET或HEAD时,用户代理才可以在没有用户交互的情况下执行附加操作。用户代理可能会自动重定向请求。用户代理应检测并干预以防止周期性重定向。

300多种选择
指示客户可以从中选择的资源的多个选项(通过 代理驱动的内容协商 )。例如,此代码可用于呈现多个视频格式选项,列出具有不同 文件名扩展名的文件 ,或建议 词义消歧
301永久移动
这个和所有将来的请求都应该指向给定的URI
302找到
这是与标准相矛盾的行业实践的一个例子。HTTP / 1.0规范(RFC 1945)要求客户端执行临时重定向(原始描述短语是“暂时移动”)但流行的浏览器使用303 See Other的功能实现302。因此,HTTP / 1.1添加了状态码303和307来区分这两种行为。[然而,一些Web应用程序和框架使用302状态代码,就好像它是303一样。
303查看其他(自HTTP / 1.1)
可以使用GET方法在另一个URI 下找到对请求的响应当收到响应POST(或PUT / DELETE)的响应时,客户端应该假定服务器已经收到数据并且应该向给定的URI发出一个新的GET请求
304未修改
表示自请求标头 If-Modified-Since或If-None-Match 指定的版本后,资源未被修改在这种情况下,由于客户端仍然具有先前下载的副本,所以不需要重新传输资源。
305使用代理(自HTTP / 1.1)
请求的资源只能通过代理服务器获得,代理服务器的地址在响应中提供。主要出于安全原因,许多HTTP客户端(如Mozilla Internet Explorer)无法正确处理此状态码的响应。
306交换机代理
不再使用。原本的意思是“后续的请求应该使用指定的代理。”
307临时重定向(自HTTP / 1.1以来)
在这种情况下,请求应该用另一个URI重复; 但是,未来的请求应该仍然使用原始URI。与历史上实现302的方式不同,请求方法在重新发送原始请求时不允许更改。例如,应该使用另一个POST请求重复POST请求。
308永久重定向
请求和所有将来的请求应该使用另一个URI重复。307和308与302和301的行为并行,但 不允许HTTP方法改变 因此,例如,将表单提交给永久重定向的资源可能会继续顺利进行。

4xx客户端错误


400错误请求
这类状态码适用于错误似乎是由客户端引起的情况。除了响应HEAD请求外,服务器应该包含一个包含错误情况说明的实体,以及它是临时还是永久状态。这些状态码适用于任何请求方法。用户代理应该向用户显示任何包含的实体。由于明显的客户端错误(例如,格式错误的请求语法,大小过大,无效的请求消息帧或欺骗性请求路由),服务器无法或不会处理该请求。

401未经授权
403 Forbidden类似,但专门用于需要认证且失败或尚未提供的情况。响应必须包含一个WWW-Authenticate标题字段,其中包含适用于所请求资源的挑战[ 401 ]语义上意味着“未经认证”即用户没有必要的凭证。
注意:当IP地址被禁止访问网站(通常是网站域)并且该特定地址被拒绝访问网站时,某些网站会发出HTTP 401 
402需要付款
保留以供将来使用。最初的意图是,该代码可能被用作某种形式的数字现金微支付方案的一部分,例如GNU Taler,但尚未发生,并且通常不使用此代码。如果某个开发者的请求超出了每日限制,Google Developers API会使用此状态。
403禁止
该请求是有效的,但服务器拒绝采取行动。用户可能没有资源所需的权限,或者可能需要某种帐户。
404未找到
找不到请求的资源,但可能在将来可用。客户的后续请求是允许的。
405方法不允许
所请求的资源不支持请求方法; 例如,需要通过POST呈现数据的表单上的GET请求,或只读资源上的PUT请求。
406不可接受
请求的资源只能根据请求中发送的Accept头生成不可接受的内容。
需要407代理验证
客户端必须首先使用代理进行身份验证
408请求超时
服务器超时等待请求。根据HTTP规范:“客户端在服务器准备等待的时间内没有发出请求,客户可以在以后不做任何修改的情况下重复请求。” 
409冲突
表示请求因请求发生冲突而无法处理,例如多个同时更新之间 编辑冲突
410消失
表示所请求的资源不再可用,并且不再可用。这应该在资源被有意删除并且资源被清除时使用。在收到410状态码后,客户不应在未来请求资源。诸如搜索引擎之类的客户应该从其索引中移除资源。 大多数用例不要求客户端和搜索引擎清除资源,而是可以使用“404 Not Found”。
411长度要求
请求没有指定请求资源所需的内容的长度。
412先决条件失败
服务器不符合请求者提出请求的前提条件之一。
413有效负载太大
该请求比服务器愿意或能够处理的要大。以前称为“请求实体太大”。
414 URI太长
提供 URI 太长,服务器无法处理。通常是由于太多数据被编码为GET请求的查询字符串,在这种情况下,它应该转换为POST请求。之前 称为“Request-URI太长”。
415不支持的媒体类型
请求实体具有服务器或资源不支持媒体类型例如,客户端将图像上传为image / svg + xml,但服务器要求图像使用不同的格式。
416范围不可满足
客户端要求提供文件的一部分(字节服务 ),但服务器无法提供该部分。例如,如果客户端要求文件末尾以外的部分文件。之前 称为“请求的范围不可满足”。
417期望失败
服务器不能满足Expect请求头字段的要求。
421误导请求
该请求针对的是无法产生响应的服务器。 例如,由于连接回用)
422不可处理的实体
请求格式良好,但由于语义错误无法遵循。
423锁定
正在访问的资源被锁定。
424失败依赖
请求失败,因为它依赖于另一个请求,并且该请求失败(例如PROPPATCH)。
需要升级426
客户端应该切换到不同的协议,例如级标题字段中给出的 TLS / 1.0
428先决条件要求
原始服务器要求该请求是有条件的。为了防止“丢失更新”问题,客户端获取资源的状态,修改它并将其重新发回服务器,同时第三方修改了服务器上的状态,导致冲突。“
429太多请求
用户在给定的时间内发送了太多的请求。旨在用于速率限制方案。
431请求标头字段太大
服务器不愿意处理该请求,因为单个标题字段或所有标题字段的集体太大。
451不可用法律原因
服务器运营商已收到合法要求,拒绝访问资源或包含请求资源的一组资源

5xx服务器错误

服务器无法完成请求。

以数字“5”开头的响应状态代码指示服务器意识到它遇到错误或无法执行请求的情况。除了响应HEAD请求之外,服务器应该包含一个包含错误情况说明的实体,并指出它是临时还是永久状态。同样,用户代理应该向用户显示任何包含的实体。这些响应代码适用于任何请求方法。

500内部服务器错误
通用错误消息,在遇到意外情况时给出并且没有更具体的消息适用。
501未实施
服务器要么不识别请求方法,要么缺乏完成请求的能力。通常这意味着未来的可用性(例如,Web服务API的新特性)。
502错误的网关
服务器充 网关 或代理,并收到来自上游服务器的无效响应。
503服务不可用
服务器当前不可用(因为它过载或因维护而关闭)。一般来说,这是一个暂时的状态。
504网关超时
服务器充当网关或代理服务器,没有收到来自上游服务器的及时响应。
不支持505 HTTP版本
服务器不支持请求中使用的HTTP协议版本。
506变式也协商
对请求的透明内容协商会产生循环引用
507存储不足
服务器无法存储完成请求所需的表示。
508环路检测
服务器在处理请求时检测到无限循环(代替208已报告发送)。
510不扩展
服务器需要对请求进一步扩展才能实现它。
需要511网络认证
客户端需要进行身份验证才能获得网络访问权限。通过拦截用于控制对网络的访问的代理(例如,用于在通过Wi-Fi热点授予完全互联网访问之前需要与服务条款达成协议的“ 专属门户 ”)来使用

非官方代码

以下代码未由任何标准规定。

103检查站
在可恢复请求建议中使用,以恢复异常终止或POST请求。
420方法失败(Spring框架
Spring Framework在方法失败时使用的弃用响应。
420增强你的平静(Twitter
当客户受限速时,由Twitter搜索和趋势API的第1版返回; 1.1版和更高版本使用429“太多请求”响应代码。
450由Windows家长控制(Microsoft)阻止
当Windows家长控制打开并阻止访问请求的网页时,指示的Microsoft扩展代码。
498令牌无效(Esri)
ArcGIS for Server 返回代码498表示已过期或无效的令牌。
499令牌要求(Esri)
ArcGIS for Server返回代码499表示需要令牌但未提交。
超出509带宽限制(Apache Web服务器 / cPanel
服务器已超出服务器管理员指定的带宽; 这通常由共享主机提供商用来限制客户的带宽。
530网站被冻结
万神殿网络平台使用,表示由于不活动而被冻结的网站。
598(非正式惯例)网络读取超时错
由某些HTTP代理用于向代理前面的客户端发送代理服务器后面的网络读取超时信号。

互联网信息服务

微软的Internet信息服务 Web服务器扩展了4xx错误空间,以便根据客户的请求发出错误信号。

440登录超时
客户端的会话已过期,必须重新登录。
449重试
服务器无法兑现请求,因为用户未提供所需的信息。
451重定向
当更有效的服务器可用或服务器无法访问用户的邮箱时,用于 Exchange ActiveSync 客户端需要重新运行HTTP AutoDiscover操作来查找更合适的服务器。

nginx 

nginx的 Web服务器软件扩展了4xx错误的空间信号与客户端的请求的问题。

444没有回应
内部使用指示服务器不向客户端返回任何信息并立即关闭连接。
494请求标题太大
客户端发送的请求太大或标题行太长。
495 SSL证书错误
400错误请求响应代码的扩展,当客户端提供了无效的客户端证书时使用
需要496 SSL证书
400错误请求 响应代码的扩展,当需要客户端证书但未提供时使用。
497 HTTP请求已发送到HTTPS端口
当客户端向侦听HTTPS请求的端口发出HTTP请求时使用400错误请求响应代码的扩展
499客户关闭请求
当客户端在服务器发送响应之前关闭请求时使用。

Cloudflare 

Cloudflare的反向代理服务扩展了5xx系列的错误空间,以指示源服务器的问题。

520未知错误
将520错误用作“原始服务器返回意外事件时的全部响应”,列出连接重置,大标题以及作为常见触发器的空或无效响应。
521 Web服务器已关闭
原始服务器已拒绝Cloudflare的连接。
522连接超时
Cloudflare无法与原始服务器协商TCP握手
523来源无法到达
Cloudflare无法访问原始服务器; 例如,如果源服务器DNS记录不正确。
524超时发生
Cloudflare能够完成与原始服务器的TCP连接,但未收到及时的HTTP响应。
525 SSL握手失败
Cloudflare无法与原始服务器协商SSL / TLS握手
526 SSL证书无效
Cloudflare无法验证源服务器提供的SSL / TLS证书。
527轨道炮错误
错误527表示WAN连接建立后请求超时或失败。

你可能感兴趣的:(HTTP状态码)