通过Http下载文件也是可以做到断点续传的,只要在http的头信息里加上:
Range:bytes=512000-
说明文件要从512k处开始传,此时服务器会返回:
Content-Range:bytes 512000-/1024000
些时说明文件从512k开始传, 总共大小为1024k。
当服务器检测到是断点续传的时候,返回的状态值会变为206。
但还有一个问题,那就是怎么知道服务器上的文件是否更新了呢?这里还有一个些参数可以识别是否为同一文件。
在第一次请求下载时,服务器会运回ETag和Last-Modfied参数,再恢复下载时需要把这两个参数带上:
addHeader(“If-Match”, eTag);
addHeader(“If-Modified-Since“, last-Modfied);
这样的话服务器就会识别文件是否变化,如果变化服务器返回的状态值就不是206而是200了,些时返回的文件也是从
头开始传。