A CDN service is a distributed network of caching servers placed close to users that stores and delivers copies of your content — static assets, video segments, API responses, software binaries — from the location nearest each request. It cuts round-trip latency, absorbs origin load, and holds up under traffic spikes by serving cache hits at the edge instead of hitting your backend.
The flow starts at DNS. A request for an asset resolves to the edge node with the lowest latency for that client, usually via anycast or geo-aware resolution. The edge checks its cache. On a hit, it returns bytes immediately. On a miss, it fetches from origin (often through a mid-tier or origin shield to collapse duplicate fetches), stores the object per its Cache-Control directives, and serves it.
Freshness is governed by TTLs and validators. When an object expires, the edge issues a conditional request with If-None-Match or If-Modified-Since; a 304 Not Modified revalidates without re-transferring the payload. Modern nodes terminate TLS at the edge, multiplex over HTTP/2 and HTTP/3 (QUIC per RFC 9000/9114), and keep warm connections to origin so cache misses stay cheap.
It lives between DNS resolution and your origin — logically in front of your load balancer, reverse proxy, or object store. Requests terminate at the edge; only misses and uncacheable methods reach your infrastructure. That position makes the CDN both a performance layer and a traffic shield: it decides what your origin ever sees.
CDN vs. reverse proxy: a reverse proxy (nginx, Varnish) caches at a single location you run; a CDN is a geographically distributed fleet you don't operate. CDN vs. load balancer: a load balancer distributes requests across backends in one region; a CDN distributes content across regions and answers most requests without touching a backend. CDN vs. edge compute: a CDN caches and delivers; edge compute runs your logic at the edge. Most platforms now bundle both, but caching is the core primitive.
location /assets/ {
add_header Cache-Control "public, max-age=31536000, immutable";
}
location /api/ {
add_header Cache-Control "public, max-age=30, stale-while-revalidate=120";
}
Fingerprinted assets get a one-year TTL with immutable so browsers and edges never revalidate. Volatile API responses cache briefly but keep serving stale copies for two minutes while the edge refreshes in the background.
"A CDN only helps static sites." Dynamic and API traffic benefit from TLS termination, connection reuse, and micro-caching even at 5–30 second TTLs. "More PoPs always means faster." Beyond a point, hit ratio and peering quality matter more than raw node count. "CDNs are expensive." Origin egress is expensive; a CDN service usually lowers total cost.
Pricing is volume-tiered and driven by egress. As of 2026, cost-optimized providers price well below hyperscaler egress. BlazingCDN, for example, starts at $100/month for up to 25 TB with additional traffic at $0.004 per GB, and scales down to roughly $2/TB at multi-petabyte volumes — with stability and fault tolerance comparable to Amazon CloudFront while staying materially cheaper for high-volume enterprises. Compare tiers on the BlazingCDN pricing and volume breakdown.
Before you argue CDN economics, get the one number that decides them. Log the edge cache status header (HIT/MISS) across a full traffic day and compute your hit ratio by path prefix. Anything under 85% on static assets means your TTLs or Vary headers are fighting you. Fix cache keys first, then model egress savings at your real byte volume — the delta between origin egress and edge egress is usually where the decision makes itself.