The News, Explained

On October 23, 2026, Cloudflare described its rebuilt Origin Range Requests implementation and results from operating R2, its file-storage service. The feature concerns fetching part of a file from its origin server, such as a video seek or resumed download. The API for configuring the feature from software was already documented in an official September 2, 2026 changelog entry. Source Source

The origin is the server supplying the actual file; a cache stores a copy for reuse. When someone requests a range, Cloudflare can combine bytes already stored with bytes fetched from the origin. It can also share work with another download already fetching the needed bytes. Source

The requested amount and the origin fetch can differ. In the documentation’s example, a client asking for 1KiB can cause Cloudflare to fetch 1MiB from the origin. KiB and MiB are capacity units separated by a factor of 1,024. Cloudflare aligns origin work to fixed chunk boundaries while returning only the requested range to the client. Source

Cacheable file-size limits are checked against the complete file. Current defaults are: Source Source

PlanComplete-file cache limit
Free, Pro and Business512MB
Enterprise5GB by default; increases require the account team or support

A small range still uses the complete file size for that check. Partial delivery and storing a response in cache are also separate operations. This path applies to GET requests, which read data, that are eligible for caching when they arrive. If the origin response later proves uncacheable, Cloudflare can still fetch ranges without storing those bytes. Source

Operators select matching file requests through a Cache Rule on a domain proxied through Cloudflare. A Cache Rule specifies which cache behavior applies to which requests and is available on all plans. Setting Origin Range Requests to On enables it for eligible matches. The documentation says no file extensions are currently enabled by the platform default. Source Source

The origin’s response still matters. If it ignores a range request and sends the complete file, Cloudflare must download that complete file. Partial responses to be cached must be unencoded, with consistent ranges, lengths and total file size. If an ETag file-version identifier is supplied, it must remain consistent too. The documentation also lists incompatibility with Cache Reserve, Cloudflare’s separate paid persistent-cache service. Source Source

Cloudflare reports that after migration, R2’s p99 time to first byte roughly halved across storage regions on both cache hits and misses. Time to first byte measures the wait for the first data; p99 is the point at or below which 99% of observations fall. These are the company’s observations from operating R2. Source

OYOPICK’s Take

We welcome moving chunk-size tuning from the operator to the service. Applying the feature still involves three questions: which bytes the client wants, which bytes the origin supplies and whether the complete file can be stored. Showing the whole-file limit alongside a small-range request could make that decision clearer.

We hope operational interfaces also distinguish partial delivery from cache storage. Separating whether a response arrived in pieces from whether its copy can serve the next request could help publishers assess the benefit for their own files and origins.