HTTP状态码(英语:HTTPStatus)定义的那些协议

HTTP状态码(英文:HTTPStatusCode)是一个3位数的代码,用来表示Web服务器的HTTP响应状态。所有状态码的第一位代表响应的五种状态之一。

1xx 消息

这种类型的状态码表示请求已被接受并需要继续处理。这种类型的响应是临时响应,仅包含状态行和单独的可选响应头信息,并以空行终止。由于 HTTP/1.0 合约中没有定义 1xx 状态码,因此严格禁止服务器向此类客户端发送 1xx 响应,除非在个别实验条件下。此类状态代码表示的响应都是信息性的,并确定客户应采取的其他操作。

100继续

客户端应继续发送请求。这个临时响应用于通知客户端它的请求部分已经被服务器接收到并且没有被拒绝。客户端应该继续发送请求的剩余部分,或者如果请求已经完成,则忽略此响应。请求完成后,服务器必须向客户端发送最终响应。

101交换协议

服务端已经理解了客户端的请求,会通过 Upgrade 头通知客户端使用不同的合约来完成请求。在此响应末尾发送空行后,服务器将切换到 Upgrade 标头中定义的合约。只有在切换到新合同更有用时,才应采取类似措施。例如,切换到新的 HTTP 版本(例如 HTTP/2) 比旧版本有优势),或者切换到实时和同步的合约来交付利用此功能的资源。

102加工

委托处理将继续进行。

2xx 成功

这种状态码表示请求被服务器成功接收、理解和接受。

200ok

请求成功,请求所需的响应头或数据体将与此响应一起返回。

201创建

请求已经完成,并且根据请求的需要创建了一个新的资源,并且它的 URI 已经与 Location 头一起返回。如果无法及时创建所需的资源,则应返回“202Accepted”。

202接受

服务器已接受请求但尚未处理。正如它可能被拒绝一样,最终请求可能会或可能不会被执行。在异步操作的情况下,没有比发送这个状态码更方便的方法了

--

返回 202 状态码响应的目的是允许服务器接受来自其他进程的请求(例如每晚仅执行一次的基于批处理的操作),而不需要客户端保持与服务器的连接,直到批处理操作完成。完全的。. 接受处理请求并返回 202 状态码的响应应该在返回的实体中包含一些指示当前处理状态的信息,以及指向处理状态监视器或状态预测的指针,以便用户可以放心关于操作是否已经完成。

203非权威信息

服务器已成功处理请求,但返回的实体返回元信息不是在原始服务器上有效的确定集,而是来自本地或第三方的副本。当前信息可能是原始版本的子集或超集。例如,包含资源的元数据可能会导致源服务器知道元数据的超集。不需要使用此状态代码,并且仅在响应将返回 200OK 而没有此状态代码时才适用。

204无内容

服务器成功处理请求,但不需要返回任何实体内容,但期望返回更新后的元信息。响应可以通过实体返回的方式返回新的或更新的元信息。如果存在这样的大脑信息,它应该对应于请求的变量。如果客户端是浏览器,那么用户的浏览器应该保留发送请求的页面而不进行任何文档视图更改,尽管应该根据视图中的规范文档将新的或更新的元信息应用于用户的浏览器活动。因为 204 响应严格禁止包含任何正文,所以它仍然以标头后的第一个空行结束。

205重置内容

服务器成功处理了请求,没有返回任何内容。与 204 响应不同,返回此状态代码的响应需要请求者重置文档视图。此响应主要用于在接受用户输入后立即重置表单,以便用户可以轻松地开始另一个输入。与 204 响应一样,该响应也严禁包含任何消息正文,并以标头后的第一个空行结束。

206部分内容

服务器已经成功处理了一些 GET 请求。像 FlashGet 或迅雷这样的 HTTP 下载工具使用这种响应来从断点恢复上传或将大文档分解为多个下载段以同时下载。请求必须包含 Range 标头以指示客户端期望的内容范围,但可能包含 If-Range 作为请求条件。响应必须包含以下腹部字段: Content-Range 用于表示本次响应返回的内容范围;如果是 Content-Type 为 multipart/byteranges 的 multipart 下载,则每个 multipart 段应包含 Content-Range 字段,用于指示本段内容的范围。如果响应中包含 Content-Length,那么它的值必须与它返回的内容范围内的实际字节数相匹配。DateETag 和/或 Content-Location,如果相同的请求应该返回 200 响应。Expires、Cache-Control 和/或 Vary,如果它们的值可能与之前相同变量的其他响应对应的值不同。如果此响应请求使用 If-Range 强缓存验证,则此响应不应包含其他实体头;如果这个响应请求使用了If-Range弱缓存验证,那么这个响应是严禁包含其他实体头的;这防止了缓存的实体内容和更新的实体头信息之间的不一致。否则,这个响应应该包含所有应该在 200 响应中返回的实体返回字段。如果 ETag 或 Last-Modified 腹部不完全匹配,客户端缓存不应将 206 响应中返回的内容与任何先前缓存的内容结合起来。任何不支持 Range 和 Content-Range 标头的缓存都严格禁止缓存 206 响应返回的内容。

207多状态

WebDAV扩展的状态码(RFC2518),表示以后的消息体为XML消息,但根据之前子请求的个数,可能包含一系列独立的响应码。

3xx 重定向

这种类型的状态代码表示需要客户端的进一步操作才能完成请求。一般这个状态码是用来重定向的,后续的请求地址(重定向目标)会在这个响应的Location字段中指明。

当且仅当后续请求使用的方法是 GET 或 HEAD 时,用户的浏览器可以手动提交所需的后续请求,而无需用户干预。客户端应该手动检测无限循环重定向(例如:A→B→C→...→A 或 A→A),因为这会导致服务器和客户端大量不必要的资源消耗。按照 HTTP/1. 版本 0 规范的建议,浏览器不应手动访问超过 5 个重定向。

300多项选择

请求的资源有一系列反馈可供选择,每个反馈都有自己的特定地址和浏览器驱动的协商。然后,用户或浏览器可以选择首选地址进行重定向。除非这是一个 HEAD 请求,否则响应应该包含一个具有资源特征列表和地址的实体,用户或浏览器可以从中选择最合适的重定向地址。该实体的格式由 Content-Type 定义的格式决定。浏览器可能会根据响应的格式和浏览器本身的能力手动做出最合适的选择。事实上,RFC2616 规范并没有具体说明应该如何进行这种手动选择。如果服务器本身已经有一个首选的反馈选项,那么应该在 Location 中指定反馈的 URI;浏览器可以使用 Location 值作为手动重定向的地址。据悉迅雷总是连接超时无法下载,除非另有说明,否则此响应也是可缓存的。

301永久移动

请求的资源永久连接到新位置,并且任何将来对该资源的引用都应该使用此响应中返回的几个 URI 之一。如果可能,具有链接编辑功能的客户端应手动将请求的地址更改为服务器返回的地址。除非另有说明,否则此响应也是可缓存的。

302找到

请求的资源现在暂时响应来自不同 URI 的请求。由于此类重定向是临时的,因此客户端应继续将后续请求发送到原始地址。仅当在 Cache-Control 或 Expires 中指定时,此响应才可缓存。

303见其他

可以在另一个 URI 中找到与当前请求对应的响应,以及客户端应该使用哪个资源作为 GET 来访问。此方法的存在主要是为了允许将脚本激活的 POST 请求输出重定向到新资源。这个新的 URI 不是对原始资源的替代引用。同时严禁缓存303响应。实际上,第二个请求(重定向)可能会被缓存。

304未修改

如果客户端发送了一个条件 GET 请求并且请求被批准,但是文档的内容(因为之前的访问或根据请求的条件)没有改变,服务器应该返回这个状态码。304 响应严格禁止包含消息正文,因此始终以标头后的第一个空行结束。

305使用代理

请求的资源必须可以通过指定的代理访问。Location 字段会给出指定代理的 URI 信息,接收方需要反复发送单独的请求,代理才能通过该请求访问相应的资源。只有源服务器能够创建 305 响应。

306开关代理

在最新版本的规范中,不再使用 306 状态码。

307临时重定向

请求的资源现在暂时响应来自不同 URI 的请求。由于此类重定向是临时的,因此客户端应继续将后续请求发送到原始地址。仅当在 Cache-Control 或 Expires 中指定时,此响应才可缓存。

4xx 客户端错误

这种类型的状态代码代表客户端出现的错误,阻止服务器处理。除非响应是一个 HEAD 请求,否则服务器应该返回一个实体来解释当前的错误条件,以及这是一个临时的还是永久的条件。此状态代码适用于任何恳求技术。浏览器应该向用户显示包含在此类错误响应中的任何实体内容。

如果发生错误时客户端正在传输数据,那么使用 TCP 的服务器实现应该注意确保客户端在关闭客户端和服务器之间的连接之前接收到包含错误消息的数据包。如果客户端在收到错误消息后继续向服务器发送数据,则服务器的 TCP 堆栈将向客户端发送一个重置数据包,以在该数据被服务器缓冲之前为客户端清除所有无法识别的输入缓冲区。读取和干扰前者的应用程序。

400BadRequest

当前请求很难被服务器理解,因为它包含语法错误。除非进行更改迅雷总是连接超时无法下载,否则客户端不应重复提交此请求。

401未经授权

当前请求需要用户身份验证。响应必须包含一个 WWW-Authenticate 标头,适用于请求的资源以询问用户信息。客户端可以重新提交带有适当授权头的请求。如果当前请求已包含授权证书,则 401 响应意味着服务器身份验证已拒绝这些证书。如果 401 响应包含与前一个响应相同的身份验证挑战,并且浏览器已经尝试了至少一次身份验证,则浏览器应向用户显示响应中包含的实体信息,其中可能包含相关的诊断信息。信息。

402 需要付款

此状态码是为将来可能的需要而保留的。

403禁止

服务器已经理解了请求并拒绝执行它。与 401 响应不同,身份验证无济于事,但不应重复请求。如果这不是 HEAD 请求,但服务器也希望明确为什么无法执行请求,则应在实体内描述拒绝的原因。实际上,如果服务器不希望客户端获取任何信息,它也可以返回 404 响应。

404未找到

请求失败,在服务器上未检测到请求的资源。没有信息可以告诉用户这种情况是暂时的还是永久性的。如果服务器知道情况,应该使用 410 状态码通知旧资源由于个人内部配置机制问题已经永久不可用,并且没有地址可以跳转。当服务器不想准确说明请求被拒绝的原因或没有其他合适的响应可用时,404 状态代码被广泛使用。

405方法不允许

请求者指定的请求方法不能用于请求相应的资源。响应必须返回一个 Allow 标头,指示当前资源可以接受的请求方法列表。

406不可接受

请求资源的内容特征不满足请求头中的条件,难以生成响应实体。

407ProxyAuthenticationRequired

类似于 401 响应,除了客户端必须在代理服务器上进行身份验证。代理服务器必须为身份查询返回一个 Proxy-Authenticate。客户端可以返回一个 Proxy-Authorization 头进行认证。

408请求超时

请求超时。在服务器准备等待的时间内,客户端没有完成请求的发送。客户端可以随时重新提交此请求,无需任何修改。

409冲突

由于与请求资源的当前状态发生冲突,请求难以完成。仅当认为用户能够解决冲突并重新提交新请求时,才应使用此代码。响应应包含足够的信息以允许用户识别冲突的来源。

410走了

请求的资源在服务器上不再可用,并且没有任何已知的转发地址。这种情况应该被认为是永久性的。如果可能,具有链接编辑功能的客户端应在用户许可的情况下删除对该地址的所有引用。如果服务器不知道或难以确定条件是否是永久的,则应使用 404 状态代码。除非另有说明,否则此响应是可缓存的。

411长度必填

服务器拒绝接受没有定义 Content-Length 标头的请求。在添加一个有效的 Content-Length 标头指示请求正文的粗细后,客户端可以重新提交请求。

412前置条件失败

服务器在验证时未能满足请求标头数组中给出的一个或多个先决条件。此状态码允许客户端在检索资源时在请求的元信息(请求标头数组数据)中设置先决条件,从而防止将请求应用于其预期之外的资源。

413请求实体太大

服务器拒绝处理当前请求,因为请求提交的实体数据大于服务器愿意或能够处理的数据。在这种情况下,服务器可以关闭连接以阻止客户端继续发送请求。

414Request-URITooLong

请求 URI 比服务器可以解释的要粗,服务器拒绝为请求提供服务。这种情况比较少见,常见的情况包括:

应该使用 POST 方法的表单提交被 GET 方法替换,导致查询字符串过长。

重定向URI“黑洞”,例如每次重定向都使用旧URI作为新URI的一部分,导致多次重定向后URI过长。

客户端试图通过利用单个服务器中的安全漏洞来利用服务器。这种类型的服务器使用固定宽度的缓冲区来读取或操作请求的 URI。当GET后的参数超过一定值时,可能会发生缓冲区溢出,导致任意代码被执行[1]。没有此漏洞的服务器应返回 414 状态代码。

415不支持的媒体类型

对于当前请求方法和请求的资源,请求中提交的实体不是服务器支持的格式,请求被拒绝。

第416章

如果请求包含 Range 请求头,但是 Range 手指定的任何数据范围与当前资源的可用范围不重合,并且请求没有定义 If-Range 请求头,那么服务器应该返回一个 416状态码。

417预期失败

请求头Expect指定的预期内容不能被服务器满足,或者服务器是代理服务器,有重要证据表明当前路由的下一个节点不能满足Expect的内容。

418I'mateapot

该操作码在 RFC2324 超文本奶茶壶控制合约中定义为 1998 年 IETF 的传统愚人节玩笑,不需要在真实的 HTTP 服务器中定义。当控制茶具的 HTCPCP 收到 BREW 或 POST 命令请求它制作奶茶时,应该返回此错误。

421There are too many connections from your internet address

从当前客户端的 IP 地址到服务器的连接数超过了服务器允许的最大值。一般来说,这里的IP地址是指从服务器上看到的客户端地址(如用户的网段或代理服务器地址)。在这些情况下,连接数的估计可能涉及多个最终用户。

422无法处理的实体

该请求格式良好且难以回应,因为它富含语义错误。(RFC4918WebDAV)

423锁定

当前资源已锁定。

424失败的依赖

当前请求失败,因为之前的请求出错,例如 PROPPATCH

426升级必填

客户端应该切换到 TLS/1.0。

449重试与

由 Google 扩展以表示应在执行适当的操作后重试请求。

451UnavailableForLegalReasons

经 IETF 批准,表示已依法拒绝访问。

5xx 服务器错误

这种状态码代表服务器在处理请求的过程中出现错误或异常状态,也可能是服务器意识到以当前的软硬件资源难以完成对请求的处理. 除非这是一个 HEAD 请求,否则服务器应该包含一个信息实体,解释当前的错误状态以及该状态是临时的还是永久的。浏览器应该向用户显示当前响应中包含的任何实体。

500内部服务器错误

服务器遇到了阻止它完成请求的意外情况。通常,当服务器的代码错误时会出现此问题。

501未实施

服务器不支持当前请求所需的功能。当服务器难以识别请求的方式,并且难以支持其对任何资源的请求时。

502错误的网关

作为网段或代理工作的服务器在尝试执行请求时收到来自上游服务器的无效响应。

503服务不可用

由于临时服务器维护或过载,服务器当前无法处理请求。这种情况是暂时的,一段时间后会恢复。如果可以预期延迟时间,则响应可以包含一个 Retry-After 标头来指示延迟时间。如果没有给出这个 Retry-After 消息,那么客户端应该用 500 响应来处理它。

504网关超时

当一个作为网段或代理的服务器尝试执行请求时,它无法收到上游服务器(URI所指示的服务器,如HTTP、FTP、LDAP)或从服务器(如DNS)的响应及时。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网站程序 HTTP状态码(英语:HTTPStatus)定义的那些协议 https://www.wkzy.net/game/8201.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务