HTTP Status Codes

HTTP 416 Range Not Satisfiable

416
LowWeb Server

Range Not Satisfiable — the server cannot fulfill the byte range specified in the request

What 416 Means

The 416 error on the HTTP Status Codes indicates range not satisfiable — the server cannot fulfill the byte range specified in the request. This typically occurs due to range header value falls outside the actual size of the resource.

416 is returned in response to a ranged request when the specified byte range does not overlap with the resource. The response includes a Content-Range header indicating the actual resource size.

Technical Background

HTTP range requests allow clients to request specific byte ranges of a resource, enabling resumable downloads and adaptive streaming. When the range does not intersect with the resource, the server returns 416 with a Content-Range: bytes */total header.

The Content-Range response header indicates the actual resource length, which the client can use to correct its range assumptions before re-requesting.

Common Causes

  • Range header value falls outside the actual size of the resource
  • Client resuming a download with an incorrect byte offset after the resource changed
  • Resource was truncated or replaced since the client last obtained its size

Typical Scenarios

  • Video player requesting bytes beyond the end of a video file
  • Download manager resuming a file whose content has changed on the server
  • Partial-content client operating with a stale cached resource size

What to Know

A 416 error indicates a stale or incorrect byte range assumption on the client side, not a server problem. The server includes a Content-Range header in the response indicating the actual resource size.

Frequently Asked Questions

Common questions about HTTP 416 error

The server includes a Content-Range header in the format 'bytes */total-size', indicating the actual resource length so the client can correct its range.

Related Error Codes