断点续传原理分析

文章目录

  • 概述
  • 断点续传
    • 为什么需要断点续传?
    • 断点续传原理
    • ETag
    • Content-Range
    • Range
    • If-Range

概述

断点续传:在下载或上传时,将下载或上传任务(一个文件或一个压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传或下载,如果碰到网络故障,可以从已经上传或下载的部分开始继续上传下载未完成的部分,而没有必要从头开始上传下载。用户可以节省时间,提高速度。

断点续传

为什么需要断点续传?

文件上传过程
使用者在前端选择好要上传的文件,然后后端处理文件,先将文件加载到运行内存中,然后系统调用相关的API(应用程序接口)将文件写入到硬盘中
两个原因:

  • 当上传的文件过大时会导致请求速度下降,占用过多的带宽资源
  • 如果上传文件的过程中发生了网络中断、服务中断、等导致上传过程中断的情况,就可能会导致文件重新上传

所以需要断点续传来保证上传文件的效率(主要是针对大文件的上传)

断点续传原理

服务端给客户端一个上传位置标记p,然后客户端将文件指针移动到标记p位置,将文件剩余部分通过输入流上传给服务端(客户端记录自己的下载位置,若下载中断,下次下载的时候发送下载数据的时候,告诉服务端开始下载,下载多少数据)

什么是断点?
文件上传过程中,文件被分为N块,然后使用多线程并发上传,当该过程因为某种原因中断时,此时中断的位置就叫做断点
什么是续传?
从断点(上传中断的位置)继续上传剩余的文件
续传是如何实现的?

你可能感兴趣的:(网络基础,http)