0%

http请求常见状态码及解释

在http请求中,服务器返回的响应报文的第一行包含了状态码以及原因短语,用来告知客户端请求的结果。

HTTP 状态码

状态码含义解释
1XXInformational(信息性状态码)接收的请求正在处理
100Continue表明到目前为止都很正常,客户端可以继续发送请求或者忽略这个响应。
101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,如,切换到HTTP的新版本协议。
102ProcessingWebDAV请求可能包含许多涉及文件操作的子请求,需要很长时间才能完成请求。该代码表示​​服务器已经收到并正在处理请求,但无响应可用。这样可以防止客户端超时,并假设请求丢失。
2XXSuccess(成功状态码)请求被成功接收并处理
200OK请求已成功,请求所希望的响应头或数据体将随此响应返回。实际的响应将取决于所使用的请求方法。在GET请求中,响应将包含与请求的资源相对应的实体。在POST请求中,响应将包含描述或操作结果的实体。
201Created已创建。成功请求并创建了新的资源。
202Accepted已接受。已经接受请求,但未处理完成。
203Non-Authoritative Information非授权信息。请求成功。但返回的Meta信息不在原始的服务器,而是一个副本。
204No Content请求已经成功处理,但未返回内容,即返回的响应报文不包含实体的主体部分。一般在只需要从客户端往服务器发送信息,而不需要返回数据时使用。
205Reset Content重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域。
206Partial Content部分内容,表示客户端进行了范围请求。服务器成功处理了部分GET请求,响应报文包含由 Content-Range 指定范围的实体内容。
207Multi-Status(WebDAV;RFC 4918)代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。
208Already Reported (WebDAV;RFC 5842)DAV绑定的成员已经在(多状态)响应之前的部分被列举,且未被再次包含。
226IM Used (RFC 3229)服务器已经满足了对资源的请求,对实体请求的一个或多个实体操作的结果表示。
3XXRedirection(重定向状态码)重定向,需要进一步的操作以完成请求
300Multiple Choices多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。
301Moved Permanently永久性重定向。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替。
302Found临时性重定向。与301类似。但资源只是临时被移动。客户端应继续使用原有URI。
303See Other查看其它地址。和302有着相同的功能,但是303明确要求客户端应该采用GET方法获取资源。
304Not Modified未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。
305Use Proxy使用代理。所请求的资源必须通过代理访问。
306Unused已经被废弃的HTTP状态码。
307Temporary Redirect临时重定向。与302类似。但是307要求浏览器不会把重定向请求的POST方法改成GET方法。
308Permanent Redirect (RFC 7538)请求和所有将来的请求应该使用另一个URI重复。 307和308重复302和301的行为,但不允许HTTP方法更改。 例如,将表单提交给永久重定向的资源可能会顺利进行。
4XXClient Error(客户端错误状态码)服务器无法处理请求
400Bad Request请求报文中存在语法错误,服务器无法理解。
401Unauthorized该状态码表示发送的请求需要有认证信息(BASIC 认证、DIGEST 认证)。如果之前已进行过一次请求,则表示用户认证失败。
402Payment Required保留,将来使用。
403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求。服务器端没有必要给出拒绝的详细理由。
404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置”您所请求的资源无法找到”的个性页面。
405Method Not Allowed客户端请求中的方法被禁止。
406Not Acceptable服务器无法根据客户端请求的内容特性完成请求。
407Proxy Authentication Required请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。
408Request Time-out服务器等待客户端发送的请求时间过长,超时。
409Conflict服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突。
410Gone客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置。
411Length Required服务器无法处理客户端发送的不带Content-Length的请求信息。
412Precondition Failed客户端请求信息的先决条件错误。
413Request Entity Too Large由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。
414Request-URI Too Large请求的URI过长(URI通常为网址),服务器无法处理。
415Unsupported Media Type服务器无法处理请求附带的媒体格式。
416Requested range not satisfiable客户端请求的范围无效。
417Expectation Failed服务器无法满足Expect的请求头信息。
421Misdirected Request (RFC 7540)该请求针对的是无法产生响应的服务器(例如因为连接重用)。
422Unprocessable Entity(WebDAV;RFC 4918 )请求格式正确,但是由于含有语义错误,无法响应。
423Locked(WebDAV;RFC 4918)当前资源被锁定。
424Failed Dependency(WebDAV;RFC 4918)由于之前的某个请求发生的错误,导致当前请求失败,例如PROPPATCH。
426Upgrade Required(RFC 2817)客户端应当切换到TLS/1.0,并在HTTP/1.1 Upgrade header中给出。
428Precondition Required (RFC 6585)原服务器要求该请求满足一定条件。这是为了防止‘未更新’问题,即客户端读取(GET)一个资源的状态,更改它,并将它写(PUT)回服务器,但这期间第三方已经在服务器上更改了该资源的状态,因此导致了冲突。
429Too Many Requests (RFC 6585)用户在给定的时间内发送了太多的请求。旨在用于网络限速。
431Request Header Fields Too Large (RFC 6585)服务器不愿处理请求,因为一个或多个头字段过大。
444No ResponseNginx上HTTP服务器扩展。服务器不向客户端返回任何信息,并关闭连接(有助于阻止恶意软件)。
450Blocked by Windows Parental Controls这是一个由Windows家庭控制(Microsoft)HTTP阻止的450状态代码的示例,用于信息和测试。
451Unavailable For Legal Reasons该访问因法律的要求而被拒绝,由IETF在2015核准后新增加。
494Request Header Too Large在错误代码431提出之前Nginx上使用的扩展HTTP代码。
499Client has Closed Connection客户端已经断开链接。可能是客户端主动断开,也有可能是超时断开。
5XXServer Error(服务器错误状态码)服务器处理请求出错
500Internal Server Error服务器内部错误,无法完成请求。
501Not Implemented服务器不支持请求的功能,无法完成请求。通常出现在nginx没有定义对应的server配置时出现。
502Bad Gateway充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。
503Service Unavailable服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。延时的长度可包含在服务器的Retry-After头信息中。
504Gateway Time-out充当网关或代理的服务器,未及时从远端服务器获取请求。
505HTTP Version not supported服务器不支持请求的HTTP协议的版本,无法完成处理。
506Variant Also Negotiates(RFC 2295)由《透明内容协商协议》(RFC 2295)扩展,代表服务器存在内部配置错误,被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一个合适的重点。
507Insufficient Storage(WebDAV;RFC 4918)服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。
508Loop Detected (WebDAV;RFC 5842)服务器在处理请求时陷入死循环。(可代替 208状态码)
510Not Extended(RFC 2774)获取资源所需要的策略并没有被满足。
511Network Authentication Required (RFC 6585)客户端需要进行身份验证才能获得网络访问权限,旨在限制用户群访问特定网络。(例如连接WiFi热点时的强制网络门户)
  • 虽然 HTTP 协议规定 301、302 状态下重定向时不允许把 POST 方法改成 GET 方法,但是大多数浏览器都会在 301、302 和 303 状态下的重定向把 POST 方法改成 GET 方法。
  • WebDAV是基于Web的分布式编写和版本控制,是超文本传输协议(HTTP)的扩展。有利于用户间协同编辑和管理存储在万维网服务器文档。许多现代操作系统为WebDAV提供了内置的客户端支持。

参考文档

-------------End of article. I appreciate whoever read and leave commends on articles.-------------

本文标题:http请求常见状态码及解释

文章作者:冷月无声

发布时间:2018年03月26日 - 21:03

最后更新:2019年03月04日 - 18:03

原始链接:https://www.lengyuewusheng.com/http%E8%AF%B7%E6%B1%82%E5%B8%B8%E8%A7%81%E7%8A%B6%E6%80%81%E7%A0%81%E5%8F%8A%E8%A7%A3%E9%87%8A.html

许可协议:本博客所有文章除特别声明外,均采用 BY-NC-SA 3.0许可协议。转载请注明出处!