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




返回







代码4


98表示已过期或无效的令牌。




4


99令牌要求(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连接建立后请求超时或失败。



版权声明:本文为T_Tzz原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/T_Tzz/article/details/79630617