http请求常见状态码及解释

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

HTTP 状态码

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

参考文档