要实现“能从之前下载中断处恢复下载”的功能需要指定下载的实体范围。指定范围发送的请求叫做范围请求
(Range Request)。
Client: 把剩余的部分传给我
执行范围请求时,会用到首部字段Range
来指定资源的byte范围。byte范围的指定形式如下:
-
5001~10000字节
: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
和完整的实体内容。
(最近更新:2019年09月18日)