---
title: "CDN Caching Explained: How Cache Hierarchy and Tiers Work"
description: "How CDN caching works: edge and parent tiers, cache hierarchy, cache keys, TTLs and hit ratio, explained with a request walk-through."
image: https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Oct-31-2026-09-26-49-8483-PM.jpeg
---

[![BlazingCDN](https://blog.blazingcdn.com/hubfs/Logo/blog-logo-w.png)](https://blog.blazingcdn.com?hsLang=en-us)

[📘 Learn ▾](https://blog.blazingcdn.com/cdn-learn?hsLang=en-us)

[CDN Fundamentals](https://blog.blazingcdn.com/cdn-fundamentals?hsLang=en-us) [By Content Type](https://blog.blazingcdn.com/by-content-type?hsLang=en-us) [Advanced Concepts](https://blog.blazingcdn.com/advanced-concepts?hsLang=en-us) [📖 Glossary](https://blog.blazingcdn.com/glossary?hsLang=en-us)

[🎬 Video & Streaming ▾](https://blog.blazingcdn.com/video-streaming-cdn?hsLang=en-us)

[🔴 Live Streaming](https://blog.blazingcdn.com/live-streaming?hsLang=en-us) [📺 VOD & OTT](https://blog.blazingcdn.com/vod-ott?hsLang=en-us) [🎞️ Encoding & Players](https://blog.blazingcdn.com/encoding-players?hsLang=en-us) [🎧 Audio & Podcasts](https://blog.blazingcdn.com/audio-podcasts?hsLang=en-us) [💰 Bandwidth & Costs](https://blog.blazingcdn.com/bandwidth-costs?hsLang=en-us)

[🏗️ Infrastructure ▾](https://blog.blazingcdn.com/cdn-infrastructure?hsLang=en-us)

[🗄️ Storage & Origin](https://blog.blazingcdn.com/storage-origin?hsLang=en-us) [📦 Large File Delivery](https://blog.blazingcdn.com/large-file-delivery?hsLang=en-us) [💸 Cloud Costs & Egress](https://blog.blazingcdn.com/cloud-costs-egress?hsLang=en-us) [🌐 Networking & ISP](https://blog.blazingcdn.com/networking-isp?hsLang=en-us) [⚙️ DevOps & Cloud Infra](https://blog.blazingcdn.com/devops-cloud-infra?hsLang=en-us) [⚡ Web Performance](https://blog.blazingcdn.com/web-performance?hsLang=en-us)

[🏭 Industries ▾](https://blog.blazingcdn.com/cdn-industry-insights?hsLang=en-us)

[📺 Media & Broadcasting](https://blog.blazingcdn.com/media-broadcasting?hsLang=en-us) [💾 Software & SaaS](https://blog.blazingcdn.com/software-saas?hsLang=en-us) [📣 AdTech & Advertising](https://blog.blazingcdn.com/adtech-advertising?hsLang=en-us) [🎮 Gaming & Esports](https://blog.blazingcdn.com/gaming-esports?hsLang=en-us) [📱 Mobile Apps & Developers](https://blog.blazingcdn.com/mobile-apps-developers?hsLang=en-us) [🤖 AI & Machine Learning](https://blog.blazingcdn.com/ai-machine-learning?hsLang=en-us) [🏛️ Enterprise & Corporate](https://blog.blazingcdn.com/enterprise-corporate?hsLang=en-us) [📚 E-Learning & EdTech](https://blog.blazingcdn.com/e-learning-edtech?hsLang=en-us) [🏟️ Sports & Live Events](https://blog.blazingcdn.com/sports-live-events?hsLang=en-us)

[💰 Pricing & Compare ▾](https://blog.blazingcdn.com/cdn-pricing-and-cdn-costs?hsLang=en-us)

[Provider Pricing](https://blog.blazingcdn.com/provider-pricing?hsLang=en-us) [Cost Optimization](https://blog.blazingcdn.com/cost-optimization?hsLang=en-us) [Decision Support](https://blog.blazingcdn.com/decision-support?hsLang=en-us) [⚡ Compare](https://blog.blazingcdn.com/cdn-comparison?hsLang=en-us) [Provider Comparisons](https://blog.blazingcdn.com/provider-comparisons?hsLang=en-us) [Strategy Comparisons](https://blog.blazingcdn.com/strategy-comparisons?hsLang=en-us) [📊 Benchmarks](https://blog.blazingcdn.com/cdn-ratings-and-benchmarks?hsLang=en-us)

[🔒 Security ▾](https://blog.blazingcdn.com/cdn-security?hsLang=en-us)

[Attack Protection](https://blog.blazingcdn.com/attack-protection?hsLang=en-us) [Encryption & Access](https://blog.blazingcdn.com/encryption-access?hsLang=en-us) [Video & DRM Security](https://blog.blazingcdn.com/video-drm-security?hsLang=en-us)

[🛠️ Tools](https://blog.blazingcdn.com/cdn-tools?hsLang=en-us)

[Get Started](https://blazingcdn.com/sign-up-contact-form/)

[Learn](https://blog.blazingcdn.com/en-us/tag/learn) [Learn - CDN Fundamentals](https://blog.blazingcdn.com/en-us/tag/learn-cdn-fundamentals)

# CDN Caching Explained: How Cache Hierarchy and Tiers Work

 Vadym Borovskyi  Oct 31, 2026, 10:29:00 PM

![\<span id="hs\_cos\_wrapper\_name" class="hs\_cos\_wrapper hs\_cos\_wrapper\_meta\_field hs\_cos\_wrapper\_type\_text" style="" data-hs-cos-general-type="meta\_field" data-hs-cos-type="text" \>CDN Caching Explained: How Cache Hierarchy and Tiers Work\</span\>](https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Oct-31-2026-09-26-49-8483-PM.jpeg)

CDN caching stores copies of origin responses in a hierarchy of shared caches. Most requests are answered by an edge server near the user, and only misses travel up to a parent tier and then to the origin. The tiers multiply: with a 95% edge hit ratio and a 70% hit ratio at the parent tier, only 1.5% of all requests reach the origin (0.05 × 0.30, worked in 2026).

This article walks one request through every tier and separates the CDN cache from the browser cache. It then works through origin-load math for a patch release and lists the failure modes that quietly lower hit ratio, each paired with the header or metric that confirms it.

## **What is a CDN cache?**

A CDN cache is a shared HTTP cache run by a content delivery network. It is a fleet of reverse proxies that store responses under a cache key, usually scheme, host, path and selected query parameters, and serve them until the freshness lifetime set by headers or CDN rules expires. One stored copy serves every user routed to that server.

That shared scope is what makes it different from a browser cache. HTTP caching semantics in RFC 9111 treat shared caches separately. They obey s-maxage over max-age, they must not store responses marked private, and they have to decide what to do with responses that set cookies. Inside a single server, the cache is itself layered. A small hot set lives in RAM, the long tail sits on NVMe or SSD, and eviction is usually some variant of LRU with admission filtering, so one-hit wonders do not flush popular objects.

## **How CDN caching works across cache tiers**

A cache hierarchy is a tree with the origin at the root and edge servers at the leaves. Each tier exists to absorb misses from the tier below it. Read top to bottom, the hierarchy looks like this:

1. Origin server: the source of truth.
2. Regional or parent caches (tier 1), often configured as an origin shield.
3. Metropolitan caches (tier 2), serving a country or metro area.
4. Edge caches, closest to users and often inside or next to ISP networks.
5. Peer caches, the sibling servers that share content sideways within a PoP or segment.

### Origin server

The origin holds the canonical images, video, builds and files, and it sets the caching policy through Cache-Control, ETag and Last-Modified. Every tier above it inherits its mistakes. A missing validator turns cheap 304 revalidations into full re-downloads.

### Regional caches and origin shield

Regional caches sit in large data centers and collect misses from many edges. When one regional node is designated the origin shield, every edge miss for a given origin funnels through it. Concurrent requests for the same object are then coalesced into a single origin fetch.

### Metropolitan caches

Tier 2 caches hold content popular in one market, such as a regional sports clip or a localized build. They keep that content one short hop from the edge and take repeated fills off the regional tier.

### Edge caches

Edge servers terminate TLS and answer the bulk of requests. Their storage is the smallest per location, so they hold the head of the popularity curve. Edge hit ratio is the number most dashboards show.

### Peer caches

Within a PoP, servers usually split the keyspace with consistent hashing, so each object is stored once per PoP rather than once per server. Older designs used inter-cache protocols such as ICP (RFC 2186) to query siblings. Peer sharing helps most for bandwidth-heavy streaming, gaming and large downloads, where duplicating a 20 GB file on every server wastes disk.

### A request walk-through

1. DNS or Anycast routing lands the user on a nearby edge PoP.
2. The edge normalizes the request and computes the cache key.
3. The receiving server hashes the key to the peer that owns it and checks RAM, then disk.
4. On a miss, the owner forwards to its parent tier, picked by the origin's region.
5. The parent coalesces concurrent misses and checks its own store. On a miss, it fetches from the origin, or revalidates with If-None-Match when it holds a stale copy.
6. Each tier stores the response, forwards the Age header, and the edge returns the object.

## **CDN cache vs browser cache**

A CDN cache is shared across all users and controlled by the site operator, who can purge it. A browser cache is private to one user agent and cannot be purged remotely. The same response can carry different lifetimes for each: s-maxage or CDN-Cache-Control (RFC 9213) governs the CDN, while max-age governs the browser.

| Property | CDN cache | Browser cache |
| --- | --- | --- |
| Scope | Shared by every user on that server | One user, one device |
| Lifetime directive | s-maxage, CDN-Cache-Control, CDN rules | max-age, Expires |
| Invalidation | Purge by URL, tag or prefix via API | Only by expiry or a new URL |
| Personalized content | Must be excluded or keyed carefully | Safe with Cache-Control: private |

Because only the CDN copy can be purged, long TTLs belong at the CDN and short TTLs belong in the browser, unless the URL is versioned.

A workable header policy follows from that. Fingerprinted assets get "public, max-age=31536000, immutable", since a new build means a new URL. HTML gets "max-age=0, s-maxage=300, stale-while-revalidate=60". Browsers revalidate every time, the CDN holds five minutes, and stale-while-revalidate lets the CDN serve while it refetches in the background.

## **Origin load math: what each cache tier saves**

Hit ratio at the edge undersells tiering, because the benefit concentrates in the long tail. Take one object requested once in each of 40 edge PoPs during its TTL. Without a parent tier, that is 40 origin fetches. With a shield, it is one fetch plus 39 parent hits. For a library of millions of rarely watched VOD segments, that 40-to-1 ratio is the difference between an origin sized for the catalog and one sized for new uploads.

The same arithmetic applies to a game patch. Suppose 1 million players download a 30 GB patch in its first 48 hours. Edge egress is 30 PB regardless of architecture. If three shield regions coalesce the first requests, origin egress is about 90 GB, three copies of the file. Without coalescing, every PoP that misses at once fetches its own copy, often in parallel. That is why release-day origin graphs spike even when steady-state hit ratio looks healthy. Pre-warming the parent tier before the release removes the remaining cold misses.

For this workload, BlazingCDN includes origin shield and request coalescing on every plan, caches objects up to 50 GB, and supports cache warm-up through its API, with a 96%+ average cache hit ratio. The [**CDN caching setup for game builds and patches**](https://blazingcdn.com/solutions-for-game-company/) describes how that applies to large releases.

| Workload | Request pattern | Tier setup | Metric to watch |
| --- | --- | --- | --- |
| Fingerprinted web assets | Small, hot head | Edge alone is usually enough | Edge hit ratio |
| VOD catalog | Long tail, large total bytes | Edge plus shield, large parent disk | Byte hit ratio at the parent |
| Live HLS or DASH | Very hot, seconds-long life | Shield with strict coalescing | Origin requests per segment |
| Game patches, installers | Burst on release, huge objects | Shield plus pre-warming | Origin egress in hour one |
| Personalized API responses | Unique per user | Bypass cache, or short micro-TTL | Uncacheable response share |

The colder and larger the catalog, the more a parent tier is worth, and edge hit ratio alone will not show it.

## **What tiered CDN caching buys you**

- **Latency:** an edge hit costs one short round trip. A miss that reaches an origin on another continent adds roughly 100 to 250 ms per round trip (typical range), before TLS and transfer time.
- **Scalability:** traffic spikes land on cached copies. In the patch example, a 30 PB surge produced about 90 GB of origin egress.
- **Cost:** origin egress and compute scale with the origin request ratio, not with user traffic. Halving the miss rate halves that bill.
- **Resilience:** distributed caches absorb volumetric load and can serve stale copies during origin outages via stale-if-error. They complement dedicated DDoS mitigation rather than replace it.

## **Failure modes: what breaks in a cache hierarchy**

Most hierarchy problems look like a hit ratio that is a few points lower than expected, or an origin graph that does not match the traffic graph. These are the usual causes.

### Cache key fragmentation

Tracking parameters, unordered query strings or Vary on User-Agent split one object into thousands of keys. It shows up as a high miss rate on objects you know are popular. Confirm it by counting distinct cache keys per path in your logs, then strip or sort query parameters in the key.

### Silently uncacheable responses

A Set-Cookie header, Cache-Control: private, or a missing lifetime can make a CDN skip storage entirely. The symptom is an origin request rate that tracks user traffic one to one for a content type. The Cache-Status header (RFC 9211), or the vendor's equivalent, reports the reason.

### Thundering herd after purge or expiry

A global purge of a hot object, or synchronized expiry, sends every edge to the parent at once. Without coalescing, the herd reaches the origin. Confirm it by lining up origin request spikes with purge timestamps, then prefer soft purges and stale-while-revalidate.

### TTL stacking across tiers

If a tier ignores the incoming Age header, each tier restarts the clock. Worst-case staleness then becomes the sum of TTLs across tiers. Request the same URL twice and check that Age keeps growing past the edge TTL rather than resetting.

### Negative caching and shield placement

A cached 404 or 503 can outlive the incident that caused it, so give error responses short, explicit TTLs. A shield placed far from the origin also adds a long-haul hop to every miss. Compare miss latency at the shield with direct origin latency from the same region.

## **Building a CDN caching strategy**

Start by classifying traffic by object size and popularity: hot assets, long-tail media, release bursts, uncacheable APIs. Then match each class to a row of the matrix above. Put the shield in the region nearest the origin, version every static URL, and set explicit lifetimes for every class, including errors.

To verify on your own stack, track three numbers per content class: edge hit ratio, byte hit ratio, and origin request ratio (origin requests divided by edge requests). If the origin ratio is well above edge miss rate times parent miss rate, coalescing or key normalization is broken somewhere.

### Where cache hierarchies are heading

Edge compute is moving cache key logic and personalization into the edge request path, which makes key hygiene more important, not less. 5G shortens the radio leg but leaves the backhaul. Caches inside operator networks are what remove that hop. Demand prediction for pre-warming is the most practical use of machine learning here, because release-driven traffic is forecastable.

## **FAQ: CDN caching and cache hierarchy**

### What is the difference between a cache and a CDN?

A cache is any store that keeps copies of data to avoid refetching it. A CDN is a distributed network that runs many shared HTTP caches close to users, plus routing, TLS termination and purge tooling. Every CDN relies on caching, but a single cache in front of one origin is not a CDN, because it gives no geographic proximity.

### Is a CDN cache the same as a browser cache?

No. A CDN cache is shared across all users and can be purged by the site operator through an API. A browser cache belongs to one user and expires only on its own schedule. Use s-maxage or CDN-Cache-Control to give the CDN cache a longer lifetime than the browser's max-age.

### How long does a CDN cache keep content?

A CDN cache keeps an object until its freshness lifetime expires, it is purged, or eviction removes it to make room. The lifetime comes from s-maxage, max-age, CDN-Cache-Control or a CDN rule override. Unpopular objects can be evicted long before their TTL, which is why long-tail catalogs benefit from a large parent tier.

### What is a good CDN cache hit ratio?

For static assets and media, a CDN cache hit ratio above 90% is a reasonable target, and well-tuned delivery of large files often runs higher. Track byte hit ratio and origin request ratio alongside it. A high request hit ratio can hide expensive misses on large objects, which dominate origin egress.

### Does a tiered CDN cache add latency on a miss?

Yes. A miss that passes through a parent tier adds one internal hop, usually a few milliseconds to tens of milliseconds, depending on where the shield sits. The trade is worthwhile when the parent hit ratio is meaningful, because each parent hit avoids a slower origin round trip. Place the shield near the origin to keep that cost small.

## **Measure your origin offload this week**

Pull seven days of CDN and origin logs and compute the origin request ratio for each content class. Compare it with the edge miss rate multiplied by the parent miss rate. Any class where the real number is several times higher has a fragmented cache key, an uncacheable header or missing coalescing. The Cache-Status and Age headers will tell you which. Fix the worst class first and re-measure after one full TTL cycle.

If your traffic is large static objects such as video, builds or archives, the [**BlazingCDN features page**](https://blazingcdn.com/features/) lists the origin shield, request coalescing, purge and cache warm-up controls included on every plan.

Share: [f](https://www.facebook.com/sharer/sharer.php?u=https://blog.blazingcdn.com/en-us/what-is-cdn-caching-hierarchy) [in](https://www.linkedin.com/sharing/share-offsite/?url=https://blog.blazingcdn.com/en-us/what-is-cdn-caching-hierarchy) [𝕏](https://twitter.com/intent/tweet?url=https://blog.blazingcdn.com/en-us/what-is-cdn-caching-hierarchy&text=) [✉](mailto:?subject=%3Cspan%20id="hs_cos_wrapper_name"%20class="hs_cos_wrapper%20hs_cos_wrapper_meta_field%20hs_cos_wrapper_type_text"%20style=""%20data-hs-cos-general-type="meta_field"%20data-hs-cos-type="text"%20%3ECDN%20Caching%20Explained:%20How%20Cache%20Hierarchy%20and%20Tiers%20Work%3C/span%3E&body=https://blog.blazingcdn.com/en-us/what-is-cdn-caching-hierarchy)

![BlazingCDN](https://blog.blazingcdn.com/hs-fs/hubfs/Logo/blog-logo-w.png?height=24&name=blog-logo-w.png)

*Heavy traffic.*  
Light bill.

The CDN for video and large traffic

100 TB a month at list price

- BlazingCDN**$415**
- [bunny.net](https://bunny.net/pricing/) Volume**$500**
- [CDN77](https://www.cdn77.com/pricing), plan to 250 TB**$990**
- [KeyCDN](https://www.keycdn.com/pricing), NA and Europe**$2,600**
- [CloudFront](https://aws.amazon.com/cloudfront/pricing/pay-as-you-go/) pay as you go**$6,965**

Each provider's published list price for transfer, lowest first, checked November 2026. BlazingCDN publishes this blog. Up to 50 TB a month a flat plan such as CloudFront Pro ($15) can cost less.

[Calculate your cost](https://blazingcdn.com/cdn-cost-calculator/?utm_source=blog&utm_medium=sidebar&utm_campaign=blog_sidebar&utm_content=compare_calc)

## Related posts

[![Lazy Loading Images: How loading=lazy Works and When to Use It](https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Nov-09-2026-03-08-21-4821-PM.jpeg)](https://blog.blazingcdn.com/en-us/lazy-loading-images-how-loading-lazy-works-and-when-to-use-it?hsLang=en-us)

Learn

### [Lazy Loading Images: How loading=lazy Works and When to Use It](https://blog.blazingcdn.com/en-us/lazy-loading-images-how-loading-lazy-works-and-when-to-use-it?hsLang=en-us)

Native lazy loading defers an off-screen image or iframe until the user scrolls near it. For lazy loading images, the ...

Nov 9, 2026, 4:10:40 PM [Read more](https://blog.blazingcdn.com/en-us/lazy-loading-images-how-loading-lazy-works-and-when-to-use-it?hsLang=en-us)

[![How to Set Up a CDN: Step-by-Step Guide for Software Teams](https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Nov-02-2026-02-25-09-5846-AM.jpeg)](https://blog.blazingcdn.com/en-us/how-to-set-up-a-cdn-tips-to-improve-software-performance?hsLang=en-us)

Learn

### [How to Set Up a CDN: Step-by-Step Guide for Software Teams](https://blog.blazingcdn.com/en-us/how-to-set-up-a-cdn-tips-to-improve-software-performance?hsLang=en-us)

How to set up a CDN for a software product comes down to six changes: a dedicated origin hostname, a CDN zone that ...

Nov 2, 2026, 3:27:17 AM [Read more](https://blog.blazingcdn.com/en-us/how-to-set-up-a-cdn-tips-to-improve-software-performance?hsLang=en-us)

[![How to Set Up a CDN for Static Files: Step-by-Step Guide](https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Nov-01-2026-07-55-14-1633-PM.jpeg)](https://blog.blazingcdn.com/en-us/how-to-set-up-a-cdn-for-static-file-delivery-step-by-step-guide?hsLang=en-us)

Learn

### [How to Set Up a CDN for Static Files: Step-by-Step Guide](https://blog.blazingcdn.com/en-us/how-to-set-up-a-cdn-for-static-file-delivery-step-by-step-guide?hsLang=en-us)

To set up a CDN for static files, you need five things working together: a cacheable origin, a dedicated hostname ...

Nov 1, 2026, 8:57:26 PM [Read more](https://blog.blazingcdn.com/en-us/how-to-set-up-a-cdn-for-static-file-delivery-step-by-step-guide?hsLang=en-us)

[![What Is a Video CDN? How It Improves Streaming Quality](https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Nov-01-2026-06-55-12-5465-PM.jpeg)](https://blog.blazingcdn.com/en-us/what-is-a-video-cdn-how-it-enhances-streaming-quality?hsLang=en-us)

Learn

### [What Is a Video CDN? How It Improves Streaming Quality](https://blog.blazingcdn.com/en-us/what-is-a-video-cdn-how-it-enhances-streaming-quality?hsLang=en-us)

A video CDN is a content delivery network built for segmented HTTP streaming. It caches HLS and MPEG-DASH manifests and ...

Nov 1, 2026, 7:57:38 PM [Read more](https://blog.blazingcdn.com/en-us/what-is-a-video-cdn-how-it-enhances-streaming-quality?hsLang=en-us)

[![BlazingCDN](https://blog.blazingcdn.com/hubfs/Logo/blog-logo-w.png)](https://blog.blazingcdn.com?hsLang=en-us)

[📘 Learn](https://blog.blazingcdn.com/cdn-learn?hsLang=en-us) [📊 Benchmarks](https://blog.blazingcdn.com/cdn-ratings-and-benchmarks?hsLang=en-us) [🎬 Video & Streaming](https://blog.blazingcdn.com/video-streaming-cdn?hsLang=en-us) [🏭 Industries](https://blog.blazingcdn.com/cdn-industry-insights?hsLang=en-us) [💰 Pricing & Costs](https://blog.blazingcdn.com/cdn-pricing-and-cdn-costs?hsLang=en-us) [⚡ Compare](https://blog.blazingcdn.com/cdn-comparison?hsLang=en-us) [🔒 Security](https://blog.blazingcdn.com/cdn-security?hsLang=en-us) [🛠️ Tools](https://blog.blazingcdn.com/cdn-tools?hsLang=en-us) [✍️ Publish with us](https://blog.blazingcdn.com/publish-with-us?hsLang=en-us)

in f 𝕏 ✉

 Copyright © BlazingCDN |. All rights reserved.

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blazingcdn.com/#organization",
  "@type" : "Organization",
  "description" : "High-volume CDN for video, live streaming, OTT/IPTV, software, games, SaaS and large-file delivery.",
  "logo" : {
    "@id" : "https://blazingcdn.com/#logo",
    "@type" : "ImageObject",
    "height" : 560,
    "url" : "https://blazingcdn.com/wp-content/uploads/2024/08/logo-560-560.png",
    "width" : 560
  },
  "name" : "BlazingCDN",
  "sameAs" : [ "https://www.linkedin.com/company/blazingcdn", "https://x.com/BlazingCdn", "https://www.reddit.com/r/BlazingCDN/", "https://www.wikidata.org/wiki/Q141711074" ],
  "url" : "https://blazingcdn.com/"
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blog.blazingcdn.com/#website",
  "@type" : "WebSite",
  "inLanguage" : "en-US",
  "name" : "BlazingCDN Blog",
  "publisher" : {
    "@id" : "https://blazingcdn.com/#organization"
  },
  "url" : "https://blog.blazingcdn.com/"
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blog.blazingcdn.com/en-us/what-is-cdn-caching-hierarchy#article",
  "@type" : "BlogPosting",
  "author" : {
    "@id" : "https://blog.blazingcdn.com/en-us/author/blazingcdn#person",
    "@type" : "Person",
    "description" : "Vadym Borovskyi is Chief Product and Marketing Officer at BlazingCDN, where he has led product strategy and growth since 2021. He has more than 11 years of experience in IT product management and B2B marketing. On this blog he writes about CDN pricing and egress costs, video and software delivery, cache configuration, and how teams evaluate and switch CDN providers. He is based in Warsaw, Poland.",
    "image" : "https://143144902.fs1.hubspotusercontent-eu1.net/hubfs/143144902/vadym-borovskyi.jpg",
    "jobTitle" : "Chief Product and Marketing Officer",
    "knowsAbout" : [ "Content Delivery Networks (CDN)", "CDN pricing", "Video streaming delivery", "Software and game distribution", "Cache optimization", "Product Management", "B2B Marketing", "Digital Marketing", "Pay Per Click Marketing (PPC)", "Google Ads", "Search Engine Marketing (SEM)", "Marketing Strategy", "Artificial Intelligence (AI)", "Cloud Management", "SaaS Development", "IT Consulting", "Computer Networking", "Project Management", "Startups" ],
    "name" : "Vadym Borovskyi",
    "sameAs" : [ "https://www.linkedin.com/in/axelt/" ],
    "url" : "https://blog.blazingcdn.com/en-us/author/blazingcdn",
    "worksFor" : {
      "@id" : "https://blazingcdn.com/#organization"
    }
  },
  "dateModified" : "2026-10-31T21:29:00Z",
  "datePublished" : "2026-10-31T21:29:00Z",
  "description" : "How CDN caching works: edge and parent tiers, cache hierarchy, cache keys, TTLs and hit ratio, explained with a request walk-through.",
  "headline" : "CDN Caching Explained: How Cache Hierarchy and Tiers Work",
  "image" : "https://143144902.fs1.hubspotusercontent-eu1.net/hubfs/143144902/Gemini-Blog/image-Oct-31-2026-09-26-49-8483-PM.jpeg",
  "inLanguage" : "en-us",
  "isPartOf" : {
    "@id" : "https://blog.blazingcdn.com/#website"
  },
  "mainEntityOfPage" : {
    "@id" : "https://blog.blazingcdn.com/en-us/what-is-cdn-caching-hierarchy",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@id" : "https://blazingcdn.com/#organization"
  },
  "wordCount" : 2292
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blog.blazingcdn.com/en-us/what-is-cdn-caching-hierarchy#breadcrumb",
  "@type" : "BreadcrumbList",
  "itemListElement" : [ {
    "@type" : "ListItem",
    "item" : "https://blog.blazingcdn.com/en-us",
    "name" : "Blog",
    "position" : 1
  }, {
    "@type" : "ListItem",
    "item" : "https://blog.blazingcdn.com/en-us/what-is-cdn-caching-hierarchy",
    "name" : "CDN Caching Explained: How Cache Hierarchy and Tiers Work",
    "position" : 2
  } ]
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blog.blazingcdn.com/en-us/what-is-cdn-caching-hierarchy#faq",
  "@type" : "FAQPage",
  "mainEntity" : [ {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "A cache is any store that keeps copies of data to avoid refetching it. A CDN is a distributed network that runs many shared HTTP caches close to users, plus routing, TLS termination and purge tooling. Every CDN relies on caching, but a single cache in front of one origin is not a CDN, because it gives no geographic proximity."
    },
    "name" : "What is the difference between a cache and a CDN?"
  }, {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "No. A CDN cache is shared across all users and can be purged by the site operator through an API. A browser cache belongs to one user and expires only on its own schedule. Use s-maxage or CDN-Cache-Control to give the CDN cache a longer lifetime than the browser's max-age."
    },
    "name" : "Is a CDN cache the same as a browser cache?"
  }, {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "A CDN cache keeps an object until its freshness lifetime expires, it is purged, or eviction removes it to make room. The lifetime comes from s-maxage, max-age, CDN-Cache-Control or a CDN rule override. Unpopular objects can be evicted long before their TTL, which is why long-tail catalogs benefit from a large parent tier."
    },
    "name" : "How long does a CDN cache keep content?"
  }, {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "For static assets and media, a CDN cache hit ratio above 90% is a reasonable target, and well-tuned delivery of large files often runs higher. Track byte hit ratio and origin request ratio alongside it. A high request hit ratio can hide expensive misses on large objects, which dominate origin egress."
    },
    "name" : "What is a good CDN cache hit ratio?"
  }, {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "Yes. A miss that passes through a parent tier adds one internal hop, usually a few milliseconds to tens of milliseconds, depending on where the shield sits. The trade is worthwhile when the parent hit ratio is meaningful, because each parent hit avoids a slower origin round trip. Place the shield near the origin to keep that cost small."
    },
    "name" : "Does a tiered CDN cache add latency on a miss?"
  } ]
}
```