What 206 means
Sent when the request had a Range header and the server supports ranges. Video players, download managers and resumable downloads depend on it.
Many 206 lines in an access log for one file are normal: a browser fetching a video requests it in chunks.
Common causes
- A client asked for part of a file with Range: bytes=…
How to fix it
- If seeking in a video does not work, the server or CDN is not honouring Range; make sure it returns Accept-Ranges: bytes and 206 for range requests.
What it looks like
A typical response:
HTTP/1.1 206 Partial Content Content-Range: bytes 0-1023/146515 Content-Length: 1024 Accept-Ranges: bytes
The same event in an nginx access log (the status is the number after the request line):
203.0.113.7 - - [10/Sep/2026:10:12:01 +0000] "GET /media/intro.mp4 HTTP/1.1" 206 153 "-" "Mozilla/5.0"
Check it with curl
-i prints the status line and headers, and -w '%{http_code}' prints only the number, which is handy in scripts and health checks. Replace the URL with yours:
curl -i -H 'Range: bytes=0-1023' https://example.com/media/intro.mp4
Compare what curl sees with what the browser sees. A different status from the same URL usually means a cache, a CDN edge or a cookie is in the way.
Investigating a run of 206s? Paste the log excerpt into Log Share to get line numbers, highlighting and an expiring link for whoever is on call with you.
Related status codes
200OK: The request succeeded and the response carries the result.416Range Not Satisfiable: the requested byte range is outside the file.
FAQ
Why does my log show hundreds of 206 responses for one video?
Because the player fetches it in ranges. Each range is one request. Count unique clients rather than requests to understand real traffic.