跳到主要内容

协议状态码-2XX

2xx 表示的是请求已被正常处理了,以 2 开头的几个常用状态码如下:

200 OK

请求已成功,请求所希望的响应头或数据体将随此响应返回。出现此状态码是表示正常状态。

201 Created

请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随 Location 头信息返回。

适用场景

API 请求创建一个资源对象,返回了新资源对象的地址。目前开发中大部分是新增一个资源返回这个资源的 ID ,然后根据 ID 再查询详情。Http 的很多状态码都定很细,实践中并不都那么遵守理论。

客户端

POST /add-article HTTP/1.1
Content-Type: application/json
{ "article": "http" }

服务端

HTTP/1.1 201 Created
Location: /article/01

202 Accepted

表示请求已接收,但服务器未处理完成。

适用场景

请求作业耗时比较久的情况,后端可以先返回告诉客户端任务已开始,你可以先去处理别的事情了,而不用一直长时间等待。

203 Non-Authoritative Information

文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝,非权威性信息。

适用场景

请求借助代理服务器访问原始服务器,拿到数据后,代理服务器并没有把原始服务器的头部元数据完全拷贝过来,只是简单的把消息体传给前端的客户。甚至代理服务器把消息体都做了编码,这时候头部的 Content-Encoding就跟原始服务器不同了。

204 No Content

请求处理成功,但是服务端没有消息体返回。所以当浏览器收到 204 端请求时不需要更新数据。

适用场景:客户端向服务端发动消息,服务端不需要返回数据。

205 Reset Content

服务器成功处理了请求,且没有返回任何内容。但是与204响应不同,返回此状态码的响应要求请求者重置文档视图。该响应主要是被用于接受用户输入后,立即重置表单,以便用户能够轻松地开始另一次输入。

206 Partial Content

客户端对服务端的资源进行了某一部分的请求,服务端正常执行,响应报文中包含由 Content-Range 指定范围的实体内容。

客户端

GET /imooc/video.mp4 HTTP/1.1
Range: bytes=1048576-2097152

服务端

HTTP/1.1 206 Partial Content
Content-Range: bytes 1048576-2097152/3145728
Content-Type: video/mp4