看“猫”片, 读懂HTTP状态码(多猫慎入)

我们用浏览器访问网页时,浏览器会向网页所在服务器发出请求。服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。

3203841-9c8f79c46d55b40f.png

3203841-7e16284661779504.jpeg
100.jpeg
  • 100 Continue 服务器已经接收到请求头,并且客户端应继续发送请求主体

3203841-9c9a0f73fe63b5f6.jpeg
101.jpeg
  • 101 Switching Protocols 服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。

3203841-d1d235a6ca742262.jpeg
200.jpeg
  • 200 OK 请求已成功,请求所希望的响应头或数据体将随此响应返回。

3203841-8e14d7ec140150e3.jpeg
201.jpeg
  • 201 Created 请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其URI已经随Location头信息返回。

3203841-a7b486c01626bbac.jpeg
202.jpeg
  • 202 Accepted 服务器已接受请求,但尚未处理。

3203841-c5bfb1b311d6cdd5.jpeg
204.jpeg
  • 204 No Content 服务器成功处理了请求,没有返回任何内容。

3203841-19788fad2891d912.jpeg
206.jpeg
  • 206 Partial Content 服务器已经成功处理了部分GET请求。

3203841-f835344943edaf8e.jpeg
207.jpeg
  • 207 Multi-Status 代表之后的消息体将是一个XML消息

3203841-d9fe49a90572b289.jpeg
300.jpeg
  • 300 Multiple Choices 被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议信息。

3203841-742edc08cc01e7a1.jpeg
301.jpeg
  • 301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。

3203841-80bd83370b4f716b.jpeg
302.jpeg
  • 302 Found 要求客户端执行临时重定向

3203841-967f101d9e7f2cf6.jpeg
303.jpeg
  • 303 See Other 对应当前请求的响应可以在另一个URI上被找到,当响应于POST(或PUT / DELETE)接收到响应时,客户端应该假定服务器已经收到数据,并且应该使用单独的GET消息发出重定向。

3203841-9db658347bf3fc88.jpeg
304.jpeg
  • 304 Not Modified 表示资源在由请求头中的If-Modified-Since或If-None-Match参数指定的这一版本之后,未曾被修改。在这种情况下,由于客户端仍然具有以前下载的副本,因此不需要重新传输资源

3203841-8f8da29b91f56cb3.jpeg
305.jpeg
  • 305 Use Proxy 被请求的资源必须通过指定的代理才能被访问。Location域中将给出指定的代理所在的URI信息,接收者需要重复发送一个单独的请求,通过这个代理才能访问相应资源。只有原始服务器才能创建305响应。

3203841-c84ba15b09ce03e0.jpeg
307.jpeg
  • 307 Temporary Redirect 在这种情况下,请求应该与另一个URI重复,但后续的请求应仍使用原始的URI。 与302相反,当重新发出原始请求时,不允许更改请求方法。 例如,应该使用另一个POST请求来重复POST请求

3203841-0fa4d6d46c898eb7.jpeg
400.jpeg
  • 400 Bad Request 由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求

3203841-2b6a36337692929b.jpeg
401.jpeg
  • 401 Unauthorized 类似于403 Forbidden,401语义即“未认证”,即用户没有必要的凭据。该状态码表示当前请求需要用户验证。该响应必须包含一个适用于被请求资源的WWW-Authenticate信息头用以询问用户信息。

3203841-5469d3275ab7e724.jpeg
402.jpeg
  • 402 Payment Required 该状态码是为了将来可能的需求而预留的。该状态码最初的意图可能被用作某种形式的数字现金或在线支付方案的一部分,但几乎没有哪家服务商使用,而且这个状态码通常不被使用。

3203841-1c35498d164d2fcc.jpeg
403.jpeg
  • 403 Forbidden 服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。

3203841-27d75dc893b6edbf.jpeg
404.jpeg
  • 404 Not Found 请求失败,请求所希望得到的资源未被在服务器上发现,但允许用户的后续请求。

3203841-7115ad0ae4f3641c.jpeg
405.jpeg
  • 405 Method Not Allowed 请求行中指定的请求方法不能被用于请求相应的资源。该响应必须返回一个Allow头信息用以表示出当前资源能够接受的请求方法的列表。

3203841-3c36ee0ef28947e3.jpeg
406.jpeg
  • 406 Not Acceptable 请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体,该请求不可接受。

3203841-054bef7725e64b54.jpeg
408.jpeg
  • 408 Request Timeout 请求超时。根据HTTP规范,客户端没有在服务器预备等待的时间内完成一个请求的发送,客户端可以随时再次提交这一请求而无需进行任何更改。

3203841-47e077f9b3e62189.jpeg
409.jpeg
  • 409 Conflict 表示因为请求存在冲突无法处理该请求

3203841-b85914cbf8b6b13d.jpeg
410.jpeg
  • 410 Gone 表示所请求的资源不再可用,将不再可用。当资源被有意地删除并且资源应被清除时,应该使用这个。在收到410状态码后,用户应停止再次请求资源。

3203841-cdd02fafd90f110e.jpeg
411.jpeg
  • 411 Length Required 服务器拒绝在没有定义Content-Length头的情况下接受请求。

3203841-8550fb7910068cea.jpeg
412.jpeg
  • 412 Precondition Failed 服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个。
3203841-7859e7ca9b26015b.jpeg
413.jpeg
  • 413 Request Entity Too Large 前称“Request Entity Too Large”,表示服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围。

3203841-8dd2c6e4ae2e7559.jpeg
414.jpeg
  • 414 Request-URI Too Long 前称“Request-URI Too Long”,表示请求的URI长度超过了服务器能够解释的长度,因此服务器拒绝对该请求提供服务。通常将太多数据的结果编码为GET请求的查询字符串,在这种情况下,应将其转换为POST请求。

3203841-c5d5f0126e94030a.jpeg
415.jpeg
  • 415 Unsupported Media Type 对于当前请求的方法和所请求的资源,请求中提交的互联网媒体类型并不是服务器中所支持的格式,因此请求被拒绝。

3203841-b40ae8d0d4a5c233.jpeg
416.jpeg

416 Requested Range Not Satisfiable 前称“Requested Range Not Satisfiable”。 客户端已经要求文件的一部分,但服务器不能提供该部分。例如,如果客户端要求文件的一部分超出文件尾端。


3203841-e83da5d8afa73344.jpeg
417.jpeg
  • 417 Expectation Failed 在请求头Expect中指定的预期内容无法被服务器满足,或者这个服务器是一个代理服显的证据证明在当前路由的下一个节点上,Expect的内容无法被满足。

3203841-9a1bdb486ea3e512.jpeg
418.jpeg
  • 418 I'm a teapot 本操作码是在1998年作为IETF的传统愚人节笑话,在RFC 2324 超文本咖啡壶控制协议中定义的,并不需要在真实的HTTP服务器中定义。

3203841-2c06e351bc41535d.jpeg
420.jpeg
  • 420 Enhance Your Caim Twitter Search与Trends API在客户端被限速的情况下返回。

3203841-eee605820a9a7337.jpeg
421.jpeg
  • 421 Misdirected Request 该请求针对的是无法产生响应的服务器

3203841-a33623176e2050ac.jpeg
422.jpeg
  • 422 Unprocessable Entity 请求格式正确,但是由于含有语义错误,无法响应。

3203841-9bef09afb6147ee8.jpeg
423.jpeg
  • 423 Locked 当前资源被锁定。

3203841-c7d2ce2c455577af.jpeg
424.jpeg
  • 424 Failed Dependency 由于之前的某个请求发生的错误,导致当前请求失败,例如PROPPATCH。

3203841-03fa881e54540ed2.jpeg
425.jpeg
  • 425 Unordered Collection 在WebDav Advanced Collections 草案中定义,但是未出现在《WebDAV 顺序集协议》中。

3203841-4f1fcf4fbbcea350.jpeg
426.jpeg
  • 426 Upgrade Required 客户端应当切换到TLS/1.0, 并在HTTP/1.1 Upgrade header中给出。

3203841-d87b3d673cd63e10.jpeg
429.jpeg
  • 429 Too Many Requests 用户在给定的时间内发送了太多的请求。

3203841-2397b23ee7aef79f.jpeg
431.jpeg
  • 431 Request Header Fields Too Large 服务器不愿处理请求,因为一个或多个头字段过大。

3203841-5bd1c67f4ade9359.jpeg
444.jpeg
  • 444 No Response Nginx上HTTP服务器扩展。服务器不向客户端返回任何信息,并关闭连接(有助于阻止恶意软件)。

3203841-2b9b6ba42b2f0935.jpeg
450.jpeg
  • 450 Blocked by Windows Parental Controls 这是一个由Windows家庭控制(Microsoft)HTTP阻止的450状态代码的示例,用于信息和测试。

3203841-0b8eb811f7ae3e73.jpeg
451.jpeg
  • 451 Unavailable For Legal Reasons 该访问因法律的要求而被拒绝,由IETF在2015核准后新增加

3203841-3749a0b62adc7b84.jpeg
500.jpeg
  • 500 Internal Server Error 通用错误消息,服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。没有给出具体错误信息。

3203841-9baf2fc228b4e2e9.jpeg
502.jpeg
  • 502 Bad Gateway 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

3203841-ffd53dfb25ca959a.jpeg
503.jpeg
  • 503 Service Unavailable 由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是暂时的,并且将在一段时间以后恢复。

3203841-4fa1e9129642efbf.jpeg
504.jpeg
  • 504 Gateway Timeout 作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。
3203841-b3b6c3f1b3d0697f.jpeg
506.jpeg
  • 506 Variant Also Negotiates 代表服务器存在内部配置错误

3203841-3149738935c95c26.jpeg
507.jpeg
  • 507 Insufficient Storage 服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。

3203841-699478a2b607d14e.jpeg
508.jpeg
  • 508 Loop Detected 服务器在处理请求时陷入死循环。

3203841-29dc0076ca06d5c5.jpeg
509.jpeg
  • 509 Bandwidth Limit Exceeded 服务器达到带宽限制。

3203841-5b6e7ebcd721fe05.jpeg
510.jpeg
  • 510 Not Extended 获取资源所需要的策略并没有被满足。

3203841-c92810dd66c94788.jpeg
511.jpeg
  • 511 Network Authentication Required 客户端需要进行身份验证才能获得网络访问权限,旨在限制用户群访问特定网络。

3203841-8f82a8b645a6dff0.jpeg
599.jpeg
  • 599 NetWork connect timeout error 网络连接超时错误

小结:

HTTP状态码大致分为5类

  • 以1开头的1**, 表示服务器收到请求信息,需要请求者继续操作
  • 以2开头的2**, 表示请求成功, 被服务器接收并处理
  • 以3开头的3**, 表示请求被重定向, 需要进一步的操作以完成请求
  • 以4开头的4**, 表示客户端错误,请求包含语法错误或无法完成请求
  • 以5开头的5**, 表示服务器错误,服务器在处理请求的过程中发生了错误
  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值