断点续传和多线程下载

断点续传和多线程下载的实现原理

 HTTP 协议的 GET 方法,支持只请求某个资源的某一部分;
 206 Partial Content 部分内容响应;
 Range 请求的资源范围;
 Content-Range 响应的资源范围;
 在连接断开重连时,客户端只请求该资源未下载的部分,而不是重新请求整个资
源,来实现断点续传。

分块请求资源实例:
Eg1: Range: bytes=306302- :请求这个资源从 306302 个字节到末尾的部分;
Eg2: Content-Range: bytes 306302-604047/604048:响应中指示携带的是该资源的第
306302-604047 的字节,该资源共 604048 个字节;
客户端通过并发的请求相同资源的不同片段,来实现对某个资源的并发分块下载。从而
达到快速下载的目的。目前流行的 FlashGet 和迅雷基本都是这个原理。

  • 多线程下载的原理:
       下载工具开启多个发出 HTTP 请求的线程;
       每个 http 请求只请求资源文件的一部分: Content-Range: bytes
      20000-40000/47000;
       合并每个线程下载的文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值