断点续传是一种让文件下载或上传在中断后能从上次进度继续、无需从头重来的网络传输技术,基于 HTTP Range 范围请求等机制实现,广泛应用于下载工具、网盘和大文件分发,可显著节省时间与流量。

| 类型 | 网络文件传输技术 |
| 实现基础 | HTTP Range 范围请求、FTP REST 命令 |
| 关键状态码 | 206 Partial Content |
| 支持协议 | HTTP/1.1 及以上、FTP、BT 等 |
| 典型应用 | 下载工具、网盘、云存储、软件更新 |
断点续传(英文常称 Resume Download 或 Resumable Transfer)是一种网络文件传输技术,指下载或上传过程因断网、暂停、程序退出等原因中断后,可以从上次停止的位置继续传输,而不必从头重新开始。
在网络不稳定或文件体积较大的场景下,如果一次中断就前功尽弃,既浪费时间也浪费流量。断点续传的思路是把文件按字节位置精确定位:传输工具记录已完成的进度,恢复时只请求剩余部分。这项能力在拨号上网、大文件下载动辄数小时的年代尤为重要,如今依然是下载器、网盘、云存储和软件更新的基础能力。
在下载方向,断点续传主要依赖 HTTP 协议的范围请求机制:客户端在请求头中携带 Range 字段,指明想要获取的字节区间;服务器若支持(响应头带有 Accept-Ranges: bytes),就返回状态码 206 Partial Content 和对应的数据片段。该机制自 HTTP/1.1 时代被正式标准化。FTP 协议则通过 REST 命令指定续传起点。在上传方向,网盘和对象存储通常采用分块上传:把大文件切成若干块逐个上传,服务端记录已收到的分块,中断后只需补传缺失部分,并常配合哈希校验实现「秒传」。
问:为什么有些下载不能断点续传?答:通常是服务器未开启范围请求支持,或下载链接是带时效签名的动态地址,中断后原链接已失效,客户端只能从头下载或重新获取链接。
问:断点续传和多线程下载是什么关系?答:多线程下载建立在断点续传的机制之上——把文件划分成多个字节区间并行请求,本质上就是同时发起多个范围请求,因此不支持续传的服务器一般也无法多线程加速。
问:上传文件也能断点续传吗?答:可以。网盘和云存储普遍采用分块上传方案,服务端记录已接收的分块,网络中断后客户端只需续传未完成的部分,大文件上传因此更可靠。

| 类型 | 网络文件传输技术 |
| 实现基础 | HTTP Range 范围请求、FTP REST 命令 |
| 关键状态码 | 206 Partial Content |
| 支持协议 | HTTP/1.1 及以上、FTP、BT 等 |
| 典型应用 | 下载工具、网盘、云存储、软件更新 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧