要实现“能从之前下载中断处恢复下载”的功能需要指定下载的实体范围。指定范围发送的请求叫做范围请求(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日)
本文详细介绍了如何通过HTTP的RangeRequest实现文件下载的断点续传功能,包括客户端如何指定下载范围,服务器如何响应部分内容请求,以及在多重范围请求下Content-Type的设置。
448

被折叠的 条评论
为什么被折叠?



