200 OK
这么说吧,200 OK是最标准的request成功的状态返回。(但不是所有成功的返回都是一样的)实际的response结果会依赖你所使用的request方法。
在get请求中,response里会包含一个跟请求资源相关的实体;
但在post请求中,response里包含的实体就是描述或是包含着此次行为的结果。
201 Created
出现201,说明request已经被完成了,但是不仅仅被完成,还多了个正在创建的新的资源。这个新资源实际上在response返回之前就迅速创建好了,并且是被放在response的body里面一起被送回来的,它的URI就放在Location header里。
202 Accepted
有只喵!好评!
202的状态是酱紫的:server已经接受并处理了,然而并没有处理结束。因为server并不保证一定会处理完,心情好(处理过程未发现不合理状况)的时候就会完成,心情不好(过程中发现不被允许的状况)的时候就不会处理结束。
非提交的状态:服务器不会在哪怕是处理结束的时候给客户端发回request结果的异步响应;当允许服务器接受一些其他请求、或做批处理的时候,有可能会出现这种状态。
203 Non-Authoritative Information
203的狗狗,算了我还是不说了。
203的时候,表明服务器能够成功处理请求,但是返回的信息有可能是来自其他来源的。
什么意思呢,意思是服务器给返回的信息不是来自源服务器,而是来自本地或是第三方的副本。比如说关于包括本地注释信息的资源可能会通过源服务器导致已知元信息的超集(什么鬼)。这个响应吗实际上是不怎么需要去使用的,而且只有当响应为200OK的时候才被使用。(MDN都忽略讲解了是有多嫌弃。。。)
204 No Content
好可怜的狗狗,给了个猫饭盆,还没粮食。。。
204的时候说明服务器成功处理了请求,但是并没有返回任何信息。
最常见的就是返回204最为一个PUT request的返回结果,在不改变呈现给用户的当前页面内容的情况下,更新资源。如果资源被创建了,返回201而不是204;如果页面需要改变为更新后的,则返回200而不是204。
206 Partial Content
"Partial",说的当然就是一部分。但这“一部分”不是服务器任性不给客户端返回全部,而是客户端自己要求的。也就是说,客户端通过一种方式,要求请求的URL只给自己返回一部分资源,而这种方式就是通过设置header里面的range字段,设置成某一个字节范围,服务器就给返回这一范围的内容。
这种方式是用很多实用场景的:wget等工具用来实现断点续传或多点并传;客户端继续请求一个未完成的下载;客户端尝试实现带宽遏流的时候;
但是亲们有没有想过,客户端所请求的和服务器现有的资源版本不匹配呢?服务器当然是见招拆招的:返回一个412 Precondition Failed
207 Multi-status
莫名其妙很不喜欢这个状态码,别问为什么,就是不喜欢。
207后跟着的消息体是一个XML,而且包含着一些独立的响应码,这些独立的响应码根据子请求的数量来加的。
尽管使用207作为总体响应状态代码,但接收方需要查询多状态响应主体的内容,以获取有关方法执行成功或失败的更多信息。响应可以在完全成功、部分成功,也可以在有故障情况的时候使用。
208 Already Reported
真的是越来越难弄清楚,越来越分不清楚这些状态码了,宝宝想哭😭。。。
208说的是,DAV(
Distributed Authoring and Versioning
分布式创建和版本控制)绑定了的成员已经在之前(对这个请求)的回应中已经被列举,所以再次响应不会被包含。说白了可能就是避免重复响应的一个状态码吧。对于每个绑定到请求范围内的集合,只有一个将报告为200状态,而所有其他绑定的后续
DAV:response
元素将使用208状态,并且会包含进它们的不是DAV:response
的后代。