206 Partial Content

The server is returning only the byte range the client asked for (Range header), with the range described in Content-Range. This is how video seeking, download resumption, and parallel-chunk downloaders work.

What usually causes it

  • Media players seeking within video/audio files
  • Download managers resuming interrupted transfers
  • CDNs serving range requests for large assets

How to debug and fix it

  1. If seeking is broken in your video player, confirm the server sends Accept-Ranges: bytes and honors Range (curl -H 'Range: bytes=0-99' -i).
  2. If you get 200 with the full file instead of 206, the server (or a proxy) ignores ranges — enable range support or the player will re-download from zero on every seek.
  3. 416 Range Not Satisfiable instead means the requested range is past the end — often a stale cached file length.

Easily confused with