HTTP 206 Partial Content — Range Requests & Resume Downloads
About HTTP 206 Partial Content
HTTP 206 Partial Content indicates the server is delivering only part of the resource due to a range header sent by the client, enabling resume downloads and streaming. This guide covers everything you need to know about this topic, including common causes, step-by-step solutions, and answers to frequently asked questions.
Here are the key things to understand: Status code 206 means the server successfully fulfilled a partial GET request. Used when the client sends a Range header requesting specific byte ranges. Essential for resumable downloads — if a download fails, the client can request remaining bytes. Video streaming services rely heavily on 206 for seeking and buffering. Response includes Content-Range header indicating which bytes are being served. Understanding these fundamentals will help you diagnose and resolve this issue more effectively.
The most common reasons this occurs include: Client explicitly requests a byte range via Range header. Download managers splitting files into segments for parallel download. Media players requesting chunks for streaming playback. Browser resuming a previously interrupted download. Identifying the root cause is the first step toward finding the right solution.
To resolve this, follow these recommended steps: Verify your server supports Range requests by checking Accept-Ranges header in responses. For Apache, ensure mod_headers is enabled and AllowOverride includes FileInfo. For Nginx, confirm the proxy_set_header Range $http_range directive is set. Test with curl: curl -r 0-99 -o partial.dat https://example.com/file.zip. If 206 is unexpected, check if a CDN or proxy is injecting Range headers. If these steps do not resolve the issue, consider consulting additional resources or a qualified professional.
This article is part of our HTTP Status Codes collection on Error Codes Wiki. We provide comprehensive, up-to-date information to help you find solutions quickly.
Quick Answer
Is HTTP 206 an error?
No, 206 is a success status code indicating the server correctly delivered the requested portion of the resource.
Overview
HTTP 206 Partial Content indicates the server is delivering only part of the resource due to a range header sent by the client, enabling resume downloads and streaming.
Key Details
- Status code 206 means the server successfully fulfilled a partial GET request
- Used when the client sends a Range header requesting specific byte ranges
- Essential for resumable downloads — if a download fails, the client can request remaining bytes
- Video streaming services rely heavily on 206 for seeking and buffering
- Response includes Content-Range header indicating which bytes are being served
Common Causes
- Client explicitly requests a byte range via Range header
- Download managers splitting files into segments for parallel download
- Media players requesting chunks for streaming playback
- Browser resuming a previously interrupted download
Steps
- 1Verify your server supports Range requests by checking Accept-Ranges header in responses
- 2For Apache, ensure mod_headers is enabled and AllowOverride includes FileInfo
- 3For Nginx, confirm the proxy_set_header Range $http_range directive is set
- 4Test with curl: curl -r 0-99 -o partial.dat https://example.com/file.zip
- 5If 206 is unexpected, check if a CDN or proxy is injecting Range headers