当前位置:网站首页>断点续传和下载原理分析
断点续传和下载原理分析
2022-06-30 20:00:00 【兔云程序】
前天面试候选人,刚好看到了他做文件上传下载这块,然后也是无心之举便突然问了断点续传这个问题,结果候选人一懵,有点怔住了,可能他从来没有思考过这个问题,大多数上传下载都是接口侠,没有深入的理解这个原理,或者也不会debug出现的问题。
首先讲讲HTTP 协议中, 可以在请求报文头中加入 Range 段, 来表示客户机希望从何处继续下载。在以前版本的 HTTP 协议是不支持断点的, HTTP/1.1 开始就支持了(这也是分快传输的实现)。一般断点下载时才用到 Range 和 Content-Range 实体头。
断点续传是大型文件数据传输的核心。特别是多线程技术,socket技术,TCP和UDP技术,而且在版本包分发过程会结合p2p技术,比如我们经常用的迅雷下载,百度网盘,如果上传或者下载中断,你下次重新拉起上传下载,肯定都不是从新开始下载,而是从已经中断的点开始作业。
基本实现思想
断点续传的关键是断点,所以在制定传输协议的时候要设计好,如上图,我自定义了一个交互协议,每次下载请求都会带上下载的起始点,这样就可以支持从断点下载了,其实HTTP里的断点续传也是这个原理,在HTTP的头里有个可选的字段RANGE,表示下载的范围,下面是我用JAVA语言实现的下载断点续传示例。
一、将要续传的文件
(1),Concurre
边栏推荐
- originpro 2021 附安装教程
- 计网 | 【五 传输层、六 应用层】知识点及例题
- Build your own website (20)
- Why should offline stores do new retail?
- 好高的佣金,《新程序员》合伙人计划来袭,人人皆可参与
- 屏幕显示技术进化史
- The Commission is so high that everyone can participate in the new programmer's partner plan
- 1045 error occurred in MySQL login. Modification method [easy to understand]
- 漏洞扫描工具大全,妈妈再也不用担心我挖不到漏洞了
- Client request external interface standard processing method
猜你喜欢
太湖 “中国健康农产品·手机直播万里行”走进太湖
【Try to Hack】Windows系统账户安全
Tensorflow2.4实现RepVGG
Jerry's touch key recognition process [chapter]
[try to hack] windows system account security
大神详解开源 BUFF 增益攻略丨直播
CADD course learning (1) -- basic knowledge of drug design
exness:流动性系列-流动性清洗和反转、决策区间
Django上传excel表格并将数据写入数据库的详细步骤
Torchdrug -- drug attribute prediction
随机推荐
Exness: liquidity series - liquidity cleaning and reversal, decision interval
Originpro 2021 with installation tutorial
操作系统面试题汇总(不定期更新)
Heartbeat and DRBD configuration process
1045 error occurred in MySQL login. Modification method [easy to understand]
SQL优化
传输层 使用滑动窗口实现流量控制
漏洞扫描工具大全,妈妈再也不用担心我挖不到漏洞了
Pytorch implements the calculation of flops and params
25:第三章:开发通行证服务:8:【注册/登录】接口:接收并校验“手机号和验证码”参数;(重点需要知道【利用redis来暂存数据,获取数据的】的应用场景)(使用到了【@Valid注解】参数校验)
mysql主从同步
Jerry's determination of detection sensitivity level [chapter]
项目经理面试常见问题及回答技巧
Halcon knowledge: check the measurement objects [1]
MySQL master-slave synchronization
DEX文件解析 - method_ids解析
项目经理不应该犯的错误
杰理之关于长按复位【篇】
居家办公没有“血泪史”| 社区征文
GeoServer installation