Error Codes Wiki

HTTP Range Requests — 206 Partial Content and 416 Range Not Satisfiable

Warning2xx success

Overview

Understand HTTP range requests including 206 Partial Content for resume downloads and 416 Range Not Satisfiable when the requested range is invalid.

Key Details

  • Range requests allow clients to request a specific portion of a resource using the Range header
  • 206 Partial Content confirms the server is sending only the requested byte range
  • 416 Range Not Satisfiable means the requested range exceeds the resource size
  • Essential for video streaming (seeking), download resumption, and large file transfers
  • The Accept-Ranges: bytes header in server responses indicates range request support

Common Causes

  • Download client requesting a range beyond the file size (causes 416)
  • Corrupted partial download file causing mismatched byte offset on resume
  • Server not supporting range requests — returns 200 with full content instead of 206
  • CDN stripping Range headers or not forwarding them to origin server

Steps

  1. 1Check if the server supports ranges: look for Accept-Ranges: bytes in response headers
  2. 2For 416 errors: delete the partial download and start fresh
  3. 3Verify the Content-Length matches expected file size before resuming a download
  4. 4Use curl with --range 0-1023 to test range request support on a server
  5. 5For servers: enable Range request support in nginx (default) or Apache (mod_headers)

Tags

range-request206416partial-contentdownload-resume

Related Items

More in 2xx Success

Frequently Asked Questions

When you seek to a position in a video, the player sends a Range header requesting bytes from that position. The server responds with 206 and the requested portion.