原理

所谓断点续传,就是指从文件已经下载好的地方开始继续下载。所以下载端传给Web服务器的时候要多加一条信息,那就是从哪个字节开始下载。了解到这些,我们就可以开发了。

Range

The Range 是一个请求首部,告知服务器返回文件的哪一部分。在一个 Range 首部中,可以一次性请求多个部分,服务器会以 multipart 文件的形式将其返回。如果服务器返回的是范围响应,需要使用 206 Partial Content 状态码。假如所请求的范围不合法,那么服务器会返回 416 Range Not Satisfiable 状态码,表示客户端错误。服务器允许忽略 Range 首部,从而返回整个文件,状态码用 200

Content-Range

在HTTP协议中,响应首部 Content-Range 显示的是一个数据片段在整个文件中的位置。

示例代码