对http协议断点续传的理解

Posted dailyer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对http协议断点续传的理解相关的知识,希望对你有一定的参考价值。

  断点续传指的是下载传输文件可以中断,之后重新下载时可以接着中断的地方开始下载,而不必从头开始下载。断点续传需要客户端和服务端都支持。

原理是客户端一块一块的请求数据,最后将下载回来的数据块拼接成完整的数据。

1.客户端

发送http请求时发送请求头Rnge:bytes=x-x  表示需要请求的范围。

2.服务器端

返回http码206。(非断点传续返回200)

返回头有如下:

Accept-Ranges:bytes--表示服务器端支持断点续传

ETag--标识服务器的下载资源有没有改变(随资源内容一起变化)若改变了,说明资源内容已改变,客户端则应从头开始下载,而不是从中断处接着下载。

Last-Modified--也是标识服务器端资源最后一次改变的时间。

Content-Ranges:bytes x-x--返回的范围。

以上是关于对http协议断点续传的理解的主要内容,如果未能解决你的问题,请参考以下文章

Linux下实现断点续传的原理介绍

java文件断点续传的简单实现

超大文件上传和断点续传的组件

超大文件上传和断点续传的组件

C#实现断点续传

支持断点续传的大文件传输协议