Success · 2xx

206 Partial Content

The server is delivering only part of the resource, in response to a Range request from the client.

What 206 Partial Content means

206 Partial Content is what makes resumable downloads and video seeking work. When a client sends Range: bytes=1024-2047, the server responds with 206 and just those bytes, plus a Content-Range header describing what was sent and the full size. Browsers use 206 for video scrubbing; download managers use it to resume interrupted transfers; cloud storage clients use it to parallelize large file downloads.

When servers should return it: Return 206 only in response to a Range request, and only when you can satisfy the range. If the range is invalid, return 416 Range Not Satisfiable.

Example response

curl -i -H "Range: bytes=0-1023" https://example.com/video.mp4

HTTP/2 206
content-range: bytes 0-1023/5242880
content-length: 1024
[binary bytes]

Related status codes

Frequently Asked Questions

How do I make my server support 206?
Most HTTP frameworks (Nginx, Apache, Express with the right middleware) support range requests on static files automatically. For dynamic content, you need to parse the Range header and seek into your data source.
Can I parallelize a download with multiple 206 requests?
Yes. This is how aria2 and many cloud-storage clients speed up large downloads: split the file into N ranges, request each one concurrently, stitch the bytes back together.
What about HEAD requests?
A HEAD response should include Accept-Ranges: bytes if the server supports range requests, so clients know they can use them.
Defined in: RFC 9110 · Class: 2xx Success

More references

For a one-page reference of all HTTP status codes, see the HTTP cheat sheet. For testing API responses, try the API Tester tool. For inspecting responses on the command line, the curl cheat sheet covers the most common flags.