# How Cloudflare’s New Range Request Handling Saves Bandwidth and Speeds Up Large File Delivery
## The Problem with Partial File Requests
When you watch a movie online and scrub to a different part of the video, your device doesn’t download the entire file again. Instead, it asks the server for just a small slice of the data — a “range request.” This is how modern streaming and downloading work behind the scenes.
But here’s the hidden cost: when a single range request comes through a content delivery network (CDN), it can trigger the CDN to pull far more data than needed from the origin server, sometimes even moving that data across different regions. At massive scale, this creates enormous waste in both bandwidth and disk operations.
This was a serious issue for Cloudflare. Their old system for handling range requests forced customers to manually set a fixed “range size” — essentially a slider that determined how much data the CDN would fetch per request. Pick the wrong number, and either your network was flooded with tiny requests or your servers were downloading gigabytes when only megabytes were needed.
## A Smarter Way to Chunk Data
The solution came from a design choice Cloudflare had already made internally. Their modern caching engine, called Pingora, stores every cached file on disk in fixed-size chunks. This was originally done to make resuming interrupted downloads easier, but it turned out to be a perfect foundation for range request handling.
With this new approach, the CDN no longer needs customers to choose a range size. Instead, it aligns all range requests to the fixed chunks it already uses for storage. When a client asks for bytes 150 to 250 of a video file, Cloudflare checks which chunks already exist in cache, fetches only the missing chunk from the origin, stores it in the same chunk format, and then serves back just the 150 to 250 bytes that were requested.
This means the extra work is now predictable and bounded. No single request can cause a massive pull of unnecessary data from the origin, and no tiny request triggers a chain of dozens of origin fetches.
## Better Results at Scale
After rolling out this new system internally, Cloudflare saw impressive results. For their R2 object storage service, the time it took to return the first byte of a response dropped by about 50% at the 99th percentile. In another optimization, the system was updated to combine cached bytes with freshly fetched bytes in a single response. This cut tiered cache traffic for R2 and similar workloads by roughly 6% week over week — saving petabytes of data transfer between data centers every single day.
## Who Benefits From This?
This feature is designed for any workload where clients regularly request parts of large files. That includes:
– Streaming video that users can seek through
– Large file downloads that can be resumed after interruptions
– Software package repositories and distributions
– Disk images and archives
– AI training workloads that transfer large model files
– Any client that only needs a small piece of a much larger file
## Getting Started
Enabling Origin Range Requests is straightforward. Customers create a Cache Rule that matches their large-file traffic and toggle the feature on. There is no range size to configure, and no need to contact support. It can be done through the dashboard or via the API.
One important note: this feature only works when the origin server itself supports byte range requests. It also does not change whether a response is cacheable — if a file wasn’t eligible for caching before, enabling this feature won’t change that.
—
## Frequently Asked Questions
**What exactly is a range request?**
A range request is when a client asks a server for only a portion of a file, rather than the entire thing. This is common when streaming video, resuming downloads, or reading just a small section of a large file.
**Why did the old system cause problems?**
The old system required customers to manually set a fixed range size. If the size was too large, the CDN would pull excessive data from the origin. If it was too small, many tiny requests would overwhelm the system. Either way, bandwidth and resources were wasted.
**Is there any configuration required now?**
No. There is no range size to tune. You simply turn the feature on via a Cache Rule, and Cloudflare handles all the chunking and coordination automatically.
**Does this work for all types of files?**
It’s designed for large, cacheable files where clients naturally request only portions of the data. Small static files that are downloaded in full don’t benefit as much from this feature.
**What happens if the origin server doesn’t support range requests?**
The feature won’t provide much benefit if the origin doesn’t support byte ranges, since partial origin fetches wouldn’t be possible.
**Can this be used alongside other caching features?**
Yes. Origin Range Requests works independently and does not interfere with standard cache eligibility rules or other CDN features.
—
## Conclusion
Cloudflare’s rebuilt range request handling represents a meaningful improvement in how CDNs serve large files. By eliminating the need for manual range size configuration and leveraging fixed-size cache chunks, the system delivers faster responses, reduces unnecessary network traffic, and provides a better experience for both CDN operators and end users. The fact that it’s now available as a simple toggle on all plans makes it accessible to everyone — no tuning required.
Thank you for reading


