HTTP 响应行 成功类型响应码

前面介绍了请求行的格式,这里将介绍HTTP响应当中的第一个组成部分,响应行。

响应行中的响应码分为两类,一种是100,200,300系列表示成功类型的响应码,还有400和500类型错误的响应码。

HTTP常见的错误码


  • 1xx : 服务已收到请求,请求者继续执行操作。
  • 2xx:请求成功,常见(201)
  • 3xx:请求成功,页面发生重定向(301)

HTTP响应行


图中第一部分就是响应行, 上面是完整的HTTP响应,第一行就是我们的响应行。

在响应行,第一部分是HTTP协议版本,接下来是响应码和描述信息。

扫描二维码关注公众号,回复: 14505356 查看本文章

响应码分类:1xx  请求已收到,需要进一步处理


响应码定义了许多的规范,这些规范可以指导我们的服务器去设计,但并不是所有的都遵循响应码中的规范,有些服务器可以定义新的响应码不在这些规范当中的。

1xx系列,表示请求被服务器接收到了,但是服务器需要做进一步的处理才能完成这个操作。

100 continue:客户端在上传一个大的文件的时候,先告诉服务器,让服务器做好准备,比如常见的迅雷下载工具。由客户端发起请求中携带 Expect: 100-continue 头部触发,服务器回100 continue表示可以传递大文件了。

101 Switch Protocols:协议升级使用,要保证HTTP 1.1协议广为使用,客户端支持更高的协议如websocket或者HTTP 2.0的时候,会在请求当中加上upgrade的头部,表示希望升级到websocket或者HTTP 2.0协议,如果服务器支持,那么返回101 Switch Protocols。
102 Processing:返回102 processing可以告诉客户端,服务器已经收到了,但是这个请求需要很长时间才能完成

响应码分类: 2xx(一)


2xx表示成功处理的请求。

201 Created: 有新资源在服务器端被成功创建。通常是我们创建了一个新的文件,比如使用put方法上传了文件,返回201表示资源在服务器端创建了。
202 Accepted:异步和有些请求需要很长时间的处理,先给客户端返回202 Accepted,由异步的任务继续去处理这个任务。

响应码分类: 2xx(二)


• 204 No Content:成功执行了请求且不携带响应包体,并暗示客户端无需更新当前的页面视图。(常见于put post等方法,上传了一些资源,但是返回告诉其不需要刷新ui等)

205 Reset Content:成功执行了请求且不携带响应包体,同时指明客户端需要更新当前页面视图。
206 Partial Content:使用 range 协议时返回部分响应内容时的响应码(断点续传都会使用range协议,只返回一部分内容的时候就会返回206响应码)
207 Multi-Status:RFC4918 ,在 WEBDAV 协议中以 XML 返回多个资源
的状态。
208 Already Reported:RFC5842 ,为避免相同集合下资源在207响应码下重复上报,使用 208 可以使用父集合的响应码。

响应码分类: 3xx(一)


• 3xx:重定向使用 Location 指向的资源或者缓存中的资源。在 RFC2068中规定客户端重定向次数不应超过 5 次,以防止死循环。

• 300 Multiple Choices:资源有多种表述,通过 300 返回给客户端后由其自行选择访问哪一种表述。由于缺乏明确的细节,300 很少使用。

• 301 Moved Permanently:资源永久性的重定向到另一个 URI 中。(使得浏览器对永久的重定向直接缓存)

• 302 Found:资源临时的重定向到另一个 URI 中。
• 303 See Other:重定向到其他资源,常用于 POST/PUT 等方法的响应中。

• 304 Not Modified:当客户端拥有可能过期的缓存时,会携带缓存的标识etag、时间等信息询问服务器缓存是否仍可复用,而304是告诉客户端可以复用缓存。(减少网络传输的数据量)

307 Temporary Redirect:类似302,但明确重定向后请求方法必须与原请求方法相同,不得变。
308 Permanent Redirect:类似301,但明确重定向后请求方法必须与原请求方法相同,不得改变。

猜你喜欢

转载自blog.csdn.net/qq_34556414/article/details/126266382
今日推荐