原创

HTTP 状态代码列表详解

以下是列表超文本传输协议(HTTP)的响应状态码。这包括来自码的IETF 互联网标准以及其他IETF RFC的,其他规格和一些额外的常用码。状态码的第一位指定的五类响应的一个; 最起码一个HTTP客户端,它可以识别这五个类别。所使用的短语是标准的例子,但可以提供任何人可读的替代方案。

1XX信息化

收到请求,持续的过程。

此类的状态码表示临时的响应,仅由该状态行和可选的头,并且由空行终止。由于HTTP / 1.0没有定义任何1xx的状态代码,服务器切不可[注1]发送到1xx响应HTTP / 1.0客户端,除了实验条件下。

100继续

这意味着该服务器已接收到请求头,和客户端应继续发送请求主体(在一个身体需要的量要发送一个请求的情况下,例如,一个POST请求)。如果请求身体较大时,将其发送到服务器时的请求已被拒绝的基于不适当头是低效的。为了有一个服务器的检查,如果仅根据请求的报头的请求可能被接受,客户端必须发送期待:100继续在其初始请求中的标头和检查,如果100继续延续之前的状态代码收到响应(或收到417期望失败而无法 继续)。

101交换协议

这意味着请求者已要求服务器切换协议,服务器已确认并会这么做。

102处理(WebDAV 的 ; RFC 2518)

作为一个WebDAV请求可能包含涉及文件操作很多次的请求,可能需要很长的时间来完成请求。此代码表明服务器已收到并处理请求,但没有响应可用呢。这可以防止客户端超时并假设请求已丢失。

2XX成功

这类状态代码表明客户端请求被接收,理解,接受和成功处理的动作。

200 OK

成功的HTTP请求的标准响应。实际的响应将取决于所使用的请求方法。在GET请求,响应将包含对应于所请求的资源的一个实体。在POST请求中,响应将包含一个实体,描述或包含操作的结果。

201创

该请求已经完成,并导致正在创建一个新的资源。

202接受

请求已被接受处理,但该处理还没有完成。请求可能会或可能不会最终采取行动,因为它在实际处理过程都可能会被禁止。

203非授权信息(因为HTTP / 1.1)

服务器已成功处理了请求,但返回的信息可能来自另一来源的信息。

204无内容

服务器已成功处理了请求,但没有返回任何内容。

205重置内容

服务器已成功处理了请求,但没有返回任何内容。与204响应不同,此响应要求请求者重置文档视图。

206部分内容(RFC 7233)

服务器提供资源(只是部分字节服务,由于客户端发送一系列的头)。该系列首部用于HTTP客户端,使中断的下载将重启,或者拆分下载到多个并发数据流。

207多状态(WebDAV的; RFC 4918)

后面的消息主体是一个XML消息,并且可以包含多个单独的响应码,取决于有多少子请求发言。

208已报告(WebDAV的; RFC 5842)

DAV的结合的成员已经被枚举在先前回复此请求,并且不被再次包含。

226使用的IM(RFC 3229)

服务器已履行对所述资源的请求,并且响应是施加到当前实例的一个或多个实例的操作的结果的表示。

3XX重定向

这个类的状态码表示客户端必须采取更多行动,以完成该请求。许多这些状态码被使用于URL重定向。

用户代理可以执行时如果在第二个请求中使用的方法是GET或HEAD没有用户交互的额外行动。用户代理不应该自动重定向请求五倍以上[ 来源请求 ],因为这样的重定向通常表示一个 无限循环。

300多种选择

指示的多个选项,客户端可按照资源。它,例如,可用于呈现不同的格式选项为视频,列表文件有不同的扩展名,或词义消歧。

301永久移动

这和所有未来的请求应被定向到给定的URI。

302发现

这是行业惯例相矛盾的标准的例子。在HTTP / 1.0规范(RFC 1945)所需的客户端执行临时重定向(原描述句话被“暂时移动”),但流行的浏览器中实现302与303看其他的功能。因此,HTTP / 1.1的加入状态码303和307的两种行为之间进行区分。但是,某些Web应用程序和框架使用302状态码,好像它是在303

303看其他(因为HTTP / 1.1)

对请求的响应可以根据另一个找到的URI使用GET方法。当响应于一个POST接收(或PUT / DELETE),应当假定服务器已经接收到的数据和重定向应与单独的GET消息发出。

304未修改(RFC 7232)

表示资源没有被修改,因为指定的版本请求头的If-Modified-Since或If-无-匹配。这意味着,没有必要重发资源,因为客户端仍然具有先前下载的副本。

305使用代理(因为HTTP / 1.1)

所请求的资源仅可通过代理,其地址在响应中提供。许多HTTP客户端(如Mozilla的和Internet Explorer中)不能正确处理与此状态码的响应,主要是出于安全考虑。

306开关代理

不再使用。原本的意思是“后续请求应该使用指定的代理。”

307临时重定向(因为HTTP / 1.1)

在这种情况下,请求应重复与另一URI; 但是,将来的请求还是应该使用原来的URI。在对比如何302是历史执行,不允许请求方法被重新发出原始请求时要被改变。例如,POST请求应该使用其他POST请求重复。

308永久重定向(RFC 7538)

的请求,并且所有未来的请求应该使用另一种的URI被重复。307和308(如提出)平行的302和301的行为,但不允许HTTP方法来改变。因此,例如,提交表单,以永久重定向的资源可以继续平稳。

308恢复不完整的(谷歌)

此代码是用在可恢复的HTTP请求建议恢复中止PUT或POST请求。

4XX客户端错误

404错误在德语维基百科。

404错误在德语维基百科

所述的4xx类的状态码是用于在其中客户端似乎出现了偏差的情况下。除了 当响应HEAD请求,服务器应包括含有有关错误情况的说明的实体,以及它是否是临时或永久的条件。这些状态代码适用于任何请求方法。用户代理应该显示任何包括的实体给用户。

400错误的请求

该服务器不能或无法处理请求,由于一些被认为是一个客户端错误(例如,恶意请求语法,无效的请求消息帧,或欺骗性的请求路由)。

401未授权(RFC 7235)

类似于403禁止,但专为使用时需要进行身份验证,并已发生故障或尚未提供。响应必须包括含有适用于请求的资源挑战一个WWW身份验证头字段。请参阅基本访问身份验证和HTTP摘要认证。

402需要付费

留作将来使用。最初的意图是,这个代码可以被用来作为某种形式的一部分,数字现金或小额支付方案,但是这并没有发生,而这些代码通常不使用。谷歌开发者 API用这个状态如果一个特定的开发者已经超过每日限制上的请求。

403禁止

请求是一个有效的请求,但服务器拒绝对此作出回应。不同于401未授权响应,认证将没有什么区别。

404未找到

请求的资源不能被找到,但可再次,可以在将来。由客户端随后的请求是可允许的。

405不允许的方法

有人要求使用不支持该资源的请求方法的资源; 例如,使用GET这需要数据的形式通过提交POST,或使用放在一个只读的资源。

406不可接受

所请求的资源是唯一能够产生根据该请求所发送的Accept报头不能接受的内容。

407代理服务器身份验证(RFC 7235)

客户必须先与验证自己的代理。

408请求超时

服务器超时等待请求。根据HTTP规范:“客户端并没有产生服务器准备等待的时间内请求的客户端可以在以后的任何时间重复该请求没有修改。”

409冲突

指示请求不能因为冲突的请求的处理,诸如编辑冲突中的多个更新的情况下。

410飘

指示所请求的资源不再可用,并不会再次可用。此时,应使用的资源已被故意除去,该资源应该被清除。在接收到410状态代码,客户端应该不再次请求在将来的资源。客户如搜索引擎应该将其索引中删除该资源。大多数用例不需要客户和搜索引擎,以清除资源,和一个“404未找到”可以替代使用。

411长度要求

所述请求未指定其内容,这是所必需的请求的资源的长度。

412预处理失败(RFC 7232)

服务器不符合该请求放在请求的前提条件之一。

413负载过大(RFC 7231)

请求大于服务器愿意或者能够处理的。名为“请求实体太大”之前。

414请求URI太长

该URI提供了太长的服务器来处理。往往过多数据的结果被编码作为查询字符串GET请求的,在这种情况下,它应该被转换到POST请求。

415不支持的媒体类型

所述请求实体具有媒体类型的服务器或资源不支持。例如,客户端上传的图像作为图像/ SVG + XML,但服务器要求的图像使用不同的格式。

416请求范围不符合(RFC 7233)

客户端已请求该文件(的一部分字节服务),但服务器不能供应该部分。例如,如果客户端请求的文件的一部分是位于超出文件的末端。

417期望失败

服务器无法满足期望请求标头字段的要求。

418我是一个茶壶(RFC 2324)

这段代码在1998年被定义为传统的一个IETF 愚人节笑话,在RFC 2324,超文本咖啡壶控制协议,并预计不会受到实际的HTTP服务器来实现。该RFC指定此代码应被要求冲泡咖啡茶壶返回。

419验证超时(而不是在RFC 2616)

的HTTP标准中没有的一部分,419验证超时表示,以前有效的认证已过期。它被用来作为一种替代401授权,以便从其他方式验证客户端来区分被拒绝访问特定的服务器资源。

420方法失败(Spring 框架)

使用不属于的HTTP标准,但春天的的HTTPStatus类中定义的方法时失败。此状态代码是由春弃用。

420增强您的平静(微博)

不是部分的HTTP标准,但在客户端正在率有限的Twitter Search和趋势API版本1返回。其他服务可能希望实现429过多的请求响应代码代替。

421误导请求(RFC 7540)

该请求是针对一个服务器,是不能产生(例如,由于连接重用)的响应。

422不能处理实体(WebDAV的; RFC 4918)

该要求是良好的,但无法遵循由于语义错误。

423锁定控制(WebDAV; RFC 4918)

正在被访问被锁定的资源。[4]

424失败的依赖关系管理(WebDAV; RFC 4918)

该请求由于前一个请求(例如,一个PROPPATCH)的故障而失败。

426需要升级

客户端应该切换到不同的协议,例如TLS / 1.0,在给定的Upgrade头字段。

428要求的前提条件(RFC 6585)

源服务器需要的要求是有条件的。为了防止“的”更新丢失“问题,即客户端获取资源的状况,修改它,并把它返回到服务器上,当同时第三方修改了国家的服务器上,导致冲突。”[ 20]

429太多的请求(RFC 6585)

用户已经发送的请求过多在给定的时间量。旨在与使用速率限制的计划。

431请求头域太大(RFC 6585)

该服务器无法处理请求,因为无论是个人头字段,或者所有的头字段统称太大。[

440登录超时(微软)

微软扩展。表明您的会话已过期。

444无应答(Nginx的)

用于Nginx的日志表明服务器已返回任何信息给客户端,并关闭了连接(作为一种威慑恶意软件有用)。

449重试带(微软)

微软扩展。申请应进行相应的操作后重试。

450被Windows阻止家长控制(微软)

微软扩展。给出这个错误在Windows家长控制已打开,并阻止访问指定网页。

451不可出于法律原因(互联网草案)

定义在互联网草案“具有法律限制资源的新HTTP状态代码”。[24]拟在资源访问出于法律原因,拒绝使用,例如审查或政府授权的封锁。一提到1953年反乌托邦小说华氏451度,在书取缔。

451重定向(微软)

用于Exchange ActiveSync的,如果有任一是一种更有效的服务器使用或服务器不能访问用户的邮箱。

客户端应该重新运行HTTP自动发现协议,找到一个更适合的服务器。

494请求标头过大(Nginx的)

Nginx的内部代码类似于431,但它在早期版本0.9.7介绍(1月21日,2011)。

495证书错误(Nginx的)

Nginx的内部代码中使用时SSL 客户端证书有错误发生,从4XX区分在日志和错误页面的重定向。

496无证书(Nginx的)

Nginx的内部代码中使用时客户端没有提供证书,从4XX区分在日志和错误页面的重定向。

497 HTTP到HTTPS(Nginx的)

Nginx的用于发送到HTTPS端口从4XX区分在日志和错误页面重定向的普通HTTP请求的内部代码。

498令牌过期/无效(ESRI的)

由归国的ArcGIS的服务器。498 A码表示过期或无效的标记。

499客户端关闭请求(Nginx的)

用于Nginx的日志,表示当连接已被关闭客户端,而在服务器仍在处理其请求,使服务器无法发送状态码了。

需要499令牌(ESRI的)

由归国的ArcGIS的服务器。499 A码表示令牌是必需的(如果没有标记被提交)。

5XX服务器错误

服务器无法完成显然有效的请求。

以数字开头响应状态码“5”,表示在该服务器是知道它遇到了一个错误,或因其他原因不能执行请求的案件。除了 在响应HEAD请求时,服务器应包括含有错误情况的说明一个实体,并说明它是否是暂时的还是永久性的状况。同样地,用户代理应该显示任何附带的实体到所述用户。这些响应码适用于任何请求方法。

500内部服务器错误

一般错误消息,因为当遇到了意外情况,也没有更具体的消息是合适的。

501未执行

服务器或者不识别请求的方法,或者它缺乏完成请求的能力。通常,这意味着未来的可用性(例如,一个Web服务API的新功能)。

502错误的网关

该服务器作为一个网关或代理,并收到来自上游服务器的无效响应。

503服务不可用

该服务器目前无法使用(由于超载或停机维护)。通常情况下,这是一个暂时的状态。

504网关超时

该服务器作为网关或代理,并没有接收到来自上游服务器的及时反应。

505 HTTP版本不支持

服务器不支持请求中所用的HTTP协议版本。

506变体还协商(RFC 2295)

透明内容协商的要求导致循环引用 。

507存储不足(WebDAV的; RFC 4918)

服务器不能以存储完成该请求所需的表示。

508检测到循环控制(WebDAV; RFC 5842)

所述服务器检测一个无限循环处理请求时(代替发送208已经被报告)。

509带宽超限(Apache的体重/有限的扩展)

在任何RFC中没有规定此状态码。它的用途是未知的。

510未扩展(RFC 2774)

进一步扩展的要求所需的服务器来满足它。

511网络需要身份验证(RFC 6585)

该客户端需要认证,以获得网络访问。通过拦截用来控制对网络的访问代理服务器供使用(例如,“ 圈养门户网站使用授权通过一个完整的互联网接入之前,需要同意服务条款” 的Wi-Fi热点 )。

520未知错误

在任何RFC没有指定此状态码,并通过一定的服务返回,例如微软的Azure和CloudFlare的服务器:“520错误本质上是一个”包罗万象“的反应时,原始服务器返回的不是什么意外或东西容忍/解释(违反协议或空应答)。“

522原产地连接超时

在任何RFC中未指定此状态代码,而是使用CloudFlare的反向代理,表示已通过服务器连接超时。

598网络读超时错误(未知)

在任何RFC中未指定此状态代码,但由Microsoft HTTP代理服务器到信号的网络阅读背后的代理超时到客户端代理的面前。

599网络连接超时错误(未知)

在任何RFC中未指定此状态代码,但由Microsoft HTTP代理到代理后面的网络连接超时信号到客户端代理的面前

参考来源:https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

~阅读全文-人机检测~

微信公众号“Java精选”(w_z90110),专注Java技术干货分享!让你从此路人变大神!回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。微信搜索小程序“Java精选面试题”,内涵3000+道Java面试题!

涵盖:互联网那些事、算法与数据结构、SpringMVC、Spring boot、Spring Cloud、ElasticSearch、Linux、Mysql、Oracle等

评论

分享:

支付宝

微信