HTTP status · 4xx — client error
416 Range Not Satisfiable
A Range request asks for bytes outside the resource, or the server cannot satisfy the range.
Key facts
| Class | 4xx — client error |
|---|---|
| Standard | RFC 9110 §15.5.17 |
| Renamed from | Requested Range Not Satisfiable |
| Required header | Content-Range: bytes */length |
| Cause | Range starts at or beyond the end |
| Related | 206 Partial Content, Accept-Ranges |
When a range cannot be served
A download client resumes with Range: bytes=5000-. If the file is only 3000 bytes long, no byte at that offset exists. The server answers 416 and includes Content-Range: bytes */3000 so the client learns the actual length without a second request.
An unsatisfiable range can also occur when the resource changed and the validator no longer matches, or when the range unit is not supported.
Recovery on the client
Drop the Range header and request the full resource, or clamp the range to the advertised length. Repeated 416 responses on a resumable download usually mean a stale local offset or a file that was replaced on the server.
Frequently asked questions
Does 416 mean the file is gone?
No. It means the requested byte range does not exist. The resource may still be fully available.
Why is Content-Range required?
It tells the client the complete length so it can retry sensibly instead of guessing.
Can 416 happen with a valid start?
Yes, if the end is before the start or the range unit is unsupported.