Smart Edge Revalidation: Making Cache Checks Possible Without Origin Headers
Caching is one of the most effective ways to speed up website performance. By serving content from a data center near the visitor, requests avoid a round trip to the origin server. But caching only works well when the cached object can be declared stale or fresh at the right time. That decision usually depends on HTTP response headers sent by the origin. When those headers are missing, the edge cache has no way to confirm whether an object has changed, and it must redownload the entire asset on every expiry, even when nothing has changed.
Cloudflare reports that as many as 30% of objects cached on its edge lack the response headers required for revalidation. Smart Edge Revalidation is a new mechanism that fills that gap by synthesizing the missing headers so the edge can answer revalidation requests from browsers without making unnecessary origin calls.
Why Revalidation Matters
When a browser requests a page, the response from the origin typically includes a Cache-Control header. This header tells caching intermediaries whether an object is eligible for caching, how long it should remain fresh, and what to do when that time expires. The freshness window is controlled by directives like max-age or s-maxage, which define a time-to-live in seconds.
Once the TTL expires, the cached object is considered stale. The cache can no longer serve it without checking whether the origin's version has changed. That check—revalidation—can result in one of two outcomes:
- If the object has changed, the new version is fetched from the origin and replaces the cached copy.
- If nothing has changed, the object is marked fresh again and continues to be served from cache.
For revalidation to work, the origin must include either an ETag or a Last-Modified response header. ETag provides a unique identifier for a specific version of an object, while Last-Modified supplies a timestamp indicating when it was last updated.
The Browser Makes the First Move
Revalidation is triggered by the browser. When the browser's own cache holds a stale copy of an object, it sends a request to the cache server with either an If-None-Match header (containing the ETag value) or an If-Modified-Since header (containing the Last-Modified timestamp).

If the cache server determines that the object has not changed since that timestamp or identifier, it responds with a 304 Not Modified status code. This lightweight response tells the browser to reuse its local copy. If the object has changed, the cache server returns the full updated object.
A 304 response is dramatically more efficient than transferring the entire asset. Consider a news site that publishes once per day: during the hours between updates, repeated requests for the same page content can be answered with a few hundred bytes instead of re-downloading HTML, CSS, and images each time.
What Breaks When Headers Are Missing
The revalidation system depends entirely on the origin sending ETag or Last-Modified. When those headers are absent—whether due to server configuration or application behavior—the edge cache cannot answer a browser's conditional request. Without a way to verify whether the origin's object has changed, the cache must assume the worst and fetch a fresh copy from the origin on every cache miss. This results in content that the browser may already have being transferred over the network needlessly.

How Smart Edge Revalidation Works
Smart Edge Revalidation activates when an origin response lacks both Last-Modified and ETag headers. In that case, Cloudflare substitutes the time the object was cached on the edge as the Last-Modified value. When a browser later sends an If-Modified-Since request, the edge can use that synthesized timestamp to determine whether the object should be revalidated or served fresh.

This means that even origins that do not supply the required headers can benefit from the efficiency of revalidation. The system is designed so that origins that do send ETag or Last-Modified headers maintain full control over their caching semantics. Smart Edge Revalidation only steps in when no such headers exist.
Availability and Effects
Smart Edge Revalidation will be enabled automatically for all Cloudflare customers. Need to opt out? Ensure your origin sends proper ETag or Last-Modified headers, or configure appropriate cache-control headers to override the behavior.
The impact is measurable. In initial tests, Smart Edge Revalidation increased revalidation rates by just under 50%, translating to roughly a 5% overall increase in revalidated traffic without any user configuration. That also reduces bandwidth between the edge and the visitor—and the associated energy consumption. For perspective, the wasted bandwidth could amount to over 2,000 metric tons of CO2e per year, on par with the annual emissions of more than 400 vehicles.
For visitors, the benefit is faster page loads, because revalidation checks transfer only a fraction of the data compared to a full asset download. For site owners, less origin traffic and lower bandwidth costs. And with each avoided re-download, the Internet itself becomes a little more efficient.



