Tiered caching
Tiered caching arranges a CDN's data centers into a hierarchy: when an edge PoP misses, it fetches from a designated upper-tier PoP instead of going straight to your origin. Only an upper-tier miss reaches the origin. Cloudflare's Tiered Cache is the best-known implementation; CloudFront's regional edge caches work the same way by default.
Why CDNs build hierarchies
Hundreds of independent edge caches each fetching from one origin scales badly, both for your server and for the visitor waiting on the miss. A hierarchy fixes both directions: upper tiers are fewer, bigger and hotter (they aggregate demand from many edge PoPs, so objects survive longer before eviction), and the origin only ever talks to a handful of upper-tier locations. The single-tier special case is an origin shield.
What changes in the headers
A hit at the upper tier still reaches you as a miss-ish experience: with Cloudflare,
the edge reports cf-cache-status: MISS while the response actually came
from another colo's cache: faster than origin, slower than a local
HIT. The Age header carries over from
the tier that stored the object, which is why a "fresh miss" can arrive with a large
Age. Diagnosing per-location behavior needs measurements from several regions; a
multi-location cache check makes the tiers visible.
Implications for purging and warming
- Purges must clear every tier. Modern CDN purges do, but third-party layers (reverse proxies, Varnish) in front of your origin form an ad-hoc tier that purges won't reach.
- Warming benefits compound: one warming request through a cold edge PoP fills that PoP and its upper tier, so subsequent misses at other edge PoPs under the same tier get a fast tier hit instead of an origin trip. Our Cloudflare warming guide covers how the two interact.