IPTV AUSTRALIA · 1 MONTH AUD $11.99 TOTALInstall your player. Request a one-day trial ↗

Help · IPTV Australia

HTTP partial content and byte ranges

HTTP range requests let a client ask for selected portions of a representation. They can support media access and download resumption. A range counts bytes, while a seek bar counts time; the player needs media structure to connect those two coordinate systems.

Read the response as well as the request

A request might ask for bytes 1000 through 1999. A corresponding single-range 206 Partial Content response identifies that interval in Content-Range and carries 1000 bytes of representation data. Both endpoints are included. A status alone cannot show that the server returned the intended interval.

A server can ignore a Range request and return the whole representation with 200 OK. An unsatisfiable request can produce 416. These outcomes are different from a network timeout. Record the requested range, response status and response range as separate observations.

A concrete resume example

Suppose an authorised download is 10,000 bytes long and a client already holds bytes zero through 3999. The remaining suffix starts at byte 4000 and contains 6000 bytes. Asking again from byte 3999 would overlap one byte; starting from 4001 would leave one missing.

The representation must also remain the same. Combining an old beginning with a changed ending can create an invalid file even if each request succeeds. Conditional range requests provide a way to avoid that mixture. File size by itself is not a reliable version identifier because different representations can have the same length.

Seeking requires more than range support

A player needs to know which bytes represent the desired time and where decoding can safely start. Index information, keyframes, encryption and container structure affect that choice. An Accept-Ranges declaration therefore does not promise frame-accurate seeking or a particular start speed.

When reporting a seek failure, say whether normal playback works, where you sought and which response followed. Do not conclude that every 200 response is faulty: it may be a whole-file transfer the client can handle. The question is whether that response fits the player's actual media path and resource size.

Questions about this guide

Does 206 mean a damaged partial download?

No. It can be the expected successful response to a request for part of a resource.

Are byte ranges measured in seconds?

No. A player maps time positions to bytes using media information.

Sources and further reading

Get your setup right from the start.

Tell us your device and player. We’ll help you take the next step with a clear plan enquiry or trial request.

Talk to IPTV Australia ↗