HTTP常用状态码

HTTP常见状态码

  1. 400:HTTP 400 Bad Request 响应状态码表示由于语法无效,服务器无法理解该请求。 客户端不应该在未经修改的情况下重复此请求。
  2. 401:状态码 401 Unauthorized 代表客户端错误,指的是由于缺乏目标资源要求的身份验证凭证,发送的请求未得到满足。这个状态码会与 WWW-Authenticate 首部一起发送,其中包含有如何进行验证的信息。这个状态类似于 403, 但是在该情况下,依然可以进行身份验证。
  3. 403:状态码 403 Forbidden 代表客户端错误,指的是服务器端有能力处理该请求,但是拒绝授权访问。这个状态类似于 401,但是进入该状态后,不能再继续进行验证。该访问是永久禁止的,并且与应用逻辑密切相关(例如不正确的密码)。
  4. 404:状态码 404 Not Found 代表客户端错误,指的是服务器端无法找到所请求的资源。返回该响应的链接通常称为坏链(broken link)或死链(dead link),它们会导向链接出错处理(link rot)页面。404 状态码并不能说明请求的资源是临时还是永久丢失。如果服务器知道该资源是永久丢失,那么应该返回 410 (Gone) 而不是 404。
  5. 408:响应状态码 408 Request Timeout 表示服务器想要将没有在使用的连接关闭。一些服务器会在空闲连接上发送此信息,即便是在客户端没有发送任何请求的情况下。服务器应该在此类响应中将 Connection 首部的值设置为 “close”,因为 408 意味着服务器已经决定将连接关闭,而不是继续等待。 这类响应出现的比较频繁,源于一些浏览器——例如 Chrome, Firefox 27+, 或者 IE9 等——使用 HTTP 协议中的预连接机制来加速上网体验。同时应该注意到,某些服务器会直接关闭连接,而不发送此类消息。
  6. 499:499, client has closed connection。代表客户端主动断开了连接,一般是服务端处理时间太长了,客户端等不了就断开了还有一种情况就是有人攻击,故意消耗服务端资源。
  7. 500:在 HTTP 协议中,500 Internal Server Error 是表示服务器端错误的响应状态码,意味着所请求的服务器遇到意外的情况并阻止其执行请求。这个错误代码是一个通用的“全方位”响应代码。通常服务器管理员对于类似于 500 这样的错误会更加详细地记录相关的请求信息来防止以后同样错误的出现。
  8. 502:502 Bad Gateway 是一种HTTP协议的服务器端错误状态代码,它表示扮演网关或代理角色的服务器,从上游服务器中接收到的响应是无效的。Gateway (网关)在计算机网络体系中可以指代不同的设备,502 错误通常不是客户端能够修复的,而是需要由途径的Web服务器或者代理服务器对其进行修复。
  9. 503:503 Service Unavailable 是一种HTTP协议的服务器端错误状态代码,它表示服务器尚未处于可以接受请求的状态。通常造成这种情况的原因是由于服务器停机维护或者已超载。注意在发送该响应的时候,应该同时发送一个对用户友好的页面来解释问题发生的原因。该种响应应该用于临时状况下,与之同时,在可行的情况下,应该在 Retry-After 首部字段中包含服务恢复的预期时间。缓存相关的首部在与该响应一同发送时应该小心使用,因为 503 状态码通常应用于临时状况下,而此类响应一般不应该进行缓存。
  10. 504:504 Gateway Timeout 是一种HTTP协议的服务器端错误状态代码,表示扮演网关或者代理的服务器无法在规定的时间内获得想要的响应。Gateway (网关)在计算机网络体系中可以指代不同的设备,504 错误通常不是在客户端可以修复的,而是需要由途径的Web服务器或者代理服务器对其进行修复。