HTTP resumable downloads
Also called Range requests, partial downloads, or partial content requests.
HTTP has a standard mechanism for being able to stop download of a file, and resume the download in a separate request. This is performed with a Range request.
This technique cannot be mixed with uploads; for implementing resumable uploads, see HTTP resumable uploads.
Reading requests (servers)
To support partial downloads, resumable downloads, and Range requests, servers merely need to support the following features:
- Range request-header
- If-Range request-header
- Content-Range response-header
- 206 (Partial Content) status code
- 416 (Range Not Satisfiable) status code
- See also: Closing client connections
Resuming a Download
In order to resume a download, a client needs to know the ETag or Last-Modified date according to the server, if it provided one;
Implementations
- Most Web browsers are known to use the Range header when resuming an interrupted upload.