HTTP Status Codes

HTTP 416 Range Not Satisfiable

416
LowWeb ServerReference page

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

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.

Visual summary

A quick reference view of how HTTP 416 works: A target bracket or pointer aiming at empty space past the end of a document.

HTTP 416 visual summary showing a target bracket or pointer aiming at empty space past the end of a document.
Visual summary: 416 means the client requested a portion of a file that lies beyond the file's actual length.

What 416 Means

The shortest useful reading of this status code.

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

This status falls into the 4xx class, indicating a client-side error outcome for the request.

Quick read

Range Not Satisfiable

the server cannot fulfill the byte range specified in the request

How to fix 416

General informational guidance, not professional advice. Commands can affect your system or data — back up first and proceed at your own risk. FixerCode is an independent reference, not affiliated with any vendor mentioned.

  1. Read the real resource size

    The 416 response carries a Content-Range header in the form bytes */total. Use it to learn the current length before re-requesting.

    curl -I -H 'Range: bytes=0-1' https://example.com/file
  2. Request a range within that size

    Ask only for bytes that exist. A resumed download must start from an offset below the actual file length.

  3. Clear a stale cached size

    If the file changed on the server, the client or CDN may still hold the old length. Clear that cache so the next request reads the current size.

  4. Serve ranges correctly if you own the server

    Make sure the origin returns Accept-Ranges and an accurate Content-Length so clients compute valid ranges.

Technical Context

How this status behaves without turning the page into a repair guide.

Standard usage

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.

Technical nuance

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

Related HTTP Codes

Nearby HTTP status codes help clarify how 416 differs inside the same response family.

Common Causes

Range header value falls outside the actual size of the resource

A common condition that triggers a 416 response when the web server evaluates the transaction.

Client resuming a download with an incorrect byte offset after the resource changed

A common condition that triggers a 416 response when the web server evaluates the transaction.

Resource was truncated or replaced since the client last obtained its size

A common condition that triggers a 416 response when the web server evaluates the transaction.

Typical Scenarios

01

Video player requesting bytes beyond the end of a video file

02

Download manager resuming a file whose content has changed on the server

03

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 interpretation questions about HTTP 416.

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.