必威体育Betway必威体育官网
当前位置:首页 > IT技术

对断点续传原理的简单探究

时间:2019-08-09 23:11:03来源:IT技术作者:seo实验室小编阅读:54次「手机版」
 

断点续传

断点续传的背景

有时候可能下载的文件过大,一次性传输遇到网络问题就很可能传输失败而需要全部重新下载。另外,断点续传还能够提供并发的下载提高下载速率。

断点续传的实现

如图,服务器通过返回的http报文头部字段告知客户端这只是请求数据的一部分,你需要再发起对剩余数据的请求。

这里写图片描述

断点续传的表现
浏览器

如果浏览器发起的请求中没有带range字段,而服务器没有返回全部数据,而是返回部分数据和一个206的状态码,则浏览器不会发起对剩余字段的请求,此时下载失败。

如果浏览器发起的请求带range字段,服务器返回指定range范围的数据,则下载成功

迅雷等下载器

如果迅雷发起的请求中没有带range字段,而服务器没有返回全部数据,而是返回部分数据和一个206的状态码,则迅雷会发起对剩余字段的请求,此时下载成功。

如果迅雷发起的请求带range字段,服务器返回指定range范围的数据,则下载成功。(服务器返回的range字段最好起始和结束点都一致,如果返回的range范围过小迅雷可能会提示下载失效)

结论

服务器的设计方面,应该让range的主动权应该掌握在客户端这边,如果请求中没有带range字段,则应该全部数据返回。如果带range字段,则应该返回确切范围内的数据。

如果下载的数据过大,服务器担心承受不住,可以断开TCP连接,则客户端那边会根据已经下载的内容再去发起对未下载内容的请求(带range字段)

这种设计模式下用迅雷下载,会先发起一个不带range的请求,拿到整个文件大小后再分段多线程发起对部分数据的请求。用谷歌浏览器下载,则直接是一个超级大的http包返回(状态码200)

探究浏览器的暂停恢复下载原理

下载测试:

这里写图片描述

查阅资料得到结论:

这里写图片描述

结论是通过测试和查找资料得出的,目前并未做过严格的抓包实验~

相关阅读

计算机组成原理(4)-中央处理器CPU

早期CPU由运算器和控制器组成,称为中央处理机。随着ULSI技术的发展,CPU芯片外部增加了一些逻辑功能部件,CPU越来越复杂,因此CPU基本部

游戏外挂制作原理

游戏外挂开发原理外挂现在大体上来讲分为三种,分别是模拟按键,WPE封包和内存挂。比如模拟键盘的,鼠标的,这种就叫做按键模拟,也叫脚本

Spring AOP的实现原理(二)

**二、AOP的设计与实现 1、JVM的动态代理特性** 在Spring AOP实现中, 使用的核心技术时动态代理,而这种动态代理实

Handler内存泄露原理及完美自定义handler解决方案

发现handler有内存泄漏,但是度娘的那些静态类自定义handler并没有解决问题,并且那种方式局限性很严重。然后我用现在的这种方式完全

云适配技术原理

官方地址:http://www.yunshipei.com/cases.html

分享到:

栏目导航

推荐阅读

热门阅读