HTTP 416 — Range Not Satisfiable
HTTP 416 answers a Range request the server cannot honour — bytes past the end of the resource, or a range set that overlaps nothing. The Content-Range header may state the actual size.
When 416 shows up
- Download managers resuming from a file that shrank or changed.
- Media players seeking beyond the end of a stream.
Mocking a 416 response
A response with this status can be faked end to end with a local mock rule — no backend changes needed. The configuration below mirrors the rule fields the ApiSimul editor uses (method, path, status, delay in milliseconds, response body):
{
"method": "GET",
"path": "/media/podcast.mp3",
"status": 416,
"delay": 200,
"enabled": true,
"body": {
"error": "range_not_satisfiable",
"size": 5242880
}
}Dynamic placeholders such as {{random.name}}, {{string.uuid}} or {{number.int 1 100}} can appear inside the body to vary each response, which keeps client-side list rendering and retry logic honest during development.
Frequently asked questions
What does HTTP 416 mean?
The requested byte range does not fit the current resource. Re-fetching size metadata and issuing a valid range resolves it.
How can I test a 416 response without a real backend?
Define a mock rule with the method and path your client requests and set the status to 416. The example configuration above returns this response after the listed delay, so the client exercises its 416 handling exactly as it would against a live server.
Related status codes
Need the response in your own project? Spin up rules for any status with the ApiSimul mock server, or browse every status code page.