HTTP Status Codes
HTTP 416 Range Not Satisfiable
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.