HTTP status · 2xx — success
206 Partial Content
206 Partial Content returns one requested byte range of a resource instead of the whole representation.
Key facts
| Class | 2xx — success |
|---|---|
| Standard | RFC 9110 §15.3.7 |
| Requires | Range request; Content-Range response header |
| Cacheable by default | Yes |
| Common users | Video players, resumable downloads, PDF viewers |
What 206 means
The client asked for part of a resource with a Range header, and the server is returning exactly that range. The response carries Content-Range: bytes start-end/total so the client knows where the fragment belongs. Multiple ranges can be returned as a multipart body, though most servers answer only the first range or the full resource.
Why a range request fails
If the server ignores Range, it returns the full 200 response and the client still works, just less efficiently. If the requested range is outside the resource, the correct answer is 416 Range Not Satisfiable with Content-Range: bytes */total. Proxies that strip Range, or resources that change length between requests, cause broken resumes and stuttering video. Check that Accept-Ranges: bytes is present before relying on partial fetches.
Frequently asked questions
What is the difference between 200 and 206?
200 returns the full representation. 206 returns only the byte range the client requested, identified by Content-Range.
Why does a video player request 206?
Streaming players fetch small byte ranges as needed instead of downloading the entire file, which saves bandwidth and allows seeking.