对http协议断点续传的理解

时间:2021-07-10 16:46:09

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

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

1.客户端

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

2.服务器端

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

返回头有如下:

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

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

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

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