3.5 获取部分内容的范围请求

3.5 获取部分内容的范围请求

为了解决从前网络中断,重新上传的问题,需要一种可恢复的机制。恢复是指能从之前下载中断处恢复下载。

要实现该功能需要制定下载的实体范围。像这样,制定范围发送的请求叫做范围请求(Range Request)。

对一份 10 000字节大小的资源,如果使用范围请求,可以只请求5001~10 000 字节内的资源。

image-20211105143754604

执行范围请求时,会用到首部字段 Range 来制定资源的 byte 范围。byte 范围的指定形式如下。

  • 5001~10 000字节
    Range:bytes=5001-10000
  • 从5001字节之后的全部的
    Range:bytes=5001-
  • 从一开始到 3000 字节和5000~7000 字节的多重范围
    Range:bytes=-3000,5000-7000

针对范围请求,响应会返回状态码为 206 Partial Content 的响应报文。另外,对于多重范围的范围请求,响应会在首部字段Content-Type 标明 multipart/byteranges 后返回响应报文。

如果服务器端无法响应范围请求,则会返回状态码 200 OK 和完整的实体内容。

posted @ 2021-11-05 15:04  李新乾  阅读(34)  评论(0编辑  收藏  举报