HTTP 206 — Partial Content
2xx Success
What it means
The server is returning only part of the resource because the client sent a Range header. Used by video players and download managers.
What to do about it
Nothing to fix. If range requests are failing, check that a proxy or CDN is not stripping Range and Accept-Ranges.
Where it sits
206 belongs to the 2xx family: The request was received, understood and accepted.
HTTP/1.1 206 Partial Content
Checking it yourself
# see the status code and headers only
curl -sI https://example.com/path
# follow redirects and print each hop
curl -sIL -o /dev/null -w "%{http_code} %{url_effective}\n" https://example.com/path
# JavaScript
const r = await fetch(url);
console.log(r.status, r.statusText);
How this code behaves
| Cacheable by default | Yes — per RFC 9110, this status is cacheable unless headers say otherwise. |
| Safe to retry | Not applicable. |
| Effect on search indexing | No direct effect. |
Returning 206 correctly
# nginx
return 206;
# Express
res.status(206).json({ error: 'Partial Content' });
# Go
w.WriteHeader(206)
# Python (Flask)
return jsonify(error='Partial Content'), 206;
Frequently asked questions
What does HTTP 206 mean?
The server is returning only part of the resource because the client sent a Range header. Used by video players and download managers.
How do I fix a 206 error?
Nothing to fix. If range requests are failing, check that a proxy or CDN is not stripping Range and Accept-Ranges.
Is 206 a client or server problem?
Neither — it indicates success or progress.