206 Partial Content answers a request that has a Range header, for example Range: bytes=0-1048575, by sending just the requested part of the resource. A single range is described by a Content-Range header such as bytes 0-1048575/52428800; several ranges are sent together in a multipart/byteranges body.
Range requests let video and audio players seek without downloading the whole file, let download managers resume interrupted downloads and let PDF viewers load single pages. Servers announce support with Accept-Ranges: bytes. Clients use If-Range to make sure the parts they combine come from the same version of the file.
A 206 is heuristically cacheable, and caches can combine stored ranges.
Example response
HTTP/1.1 206 Partial Content
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: video/mp4
Content-Range: bytes 0-1048575/52428800
Content-Length: 1048576
Accept-Ranges: bytes
ETag: "a3f1-3200000"
[first 1,048,576 bytes of the video] SEO and redirect checking
Crawlers normally request complete documents, and pages should return 200 to them. A 206 appears in a redirect check only if a Range header was added to the request, for example as a custom request header. A server that sends 206 to requests without a Range header is misconfigured.
Common causes and use cases
- A media player requests the next chunk of a video or jumps to a new position.
- A download manager or
curl -C -resumes an interrupted download. - A PDF viewer or app fetches only the parts of a large file it needs.