Quick Answer:
A CDN is a globally distributed network of edge servers that stores copies of your site close to your customers, eliminating the distance between visitor and origin server. Combined with properly configured caching (Cache-Control, ETag, max-age headers), a CDN dramatically reduces latency, lowers server load, and keeps your site available even when the origin fails.
Key Takeaways:
Cache-Control: max-age=31536000 (one year); for HTML that changes, use no-cache with ETag validation.Your site feels slow. Your customers wait. Pages take three, four, or five seconds to load. Your developer tells you "we need better hosting" and quotes you a more expensive plan. Before you pay, ask a more important question: is your site using a CDN and properly configured caching? In most small and mid-sized businesses we audit, the answer is no — and that explains 70% of the speed problem without spending a dollar on bigger hosting.
Whether you run a business in Houston, Cypress, Monterrey, or Bogotá, the rules that govern load speed are the same. And understanding the difference between browser cache, server cache, and CDN is the difference between paying for patches forever and fixing the root cause once.
A CDN — Content Delivery Network — is a set of servers located in various points around the world that store copies of your website files. When a customer visits your page, instead of downloading everything from the single server where your site lives, the CDN delivers those files from the server geographically closest to them.
According to Fastly, a CDN is "a system of distributed servers that deliver web content and pages to users based on their geographic locations to improve performance and reduce latency". These servers are called edge servers, and Fastly explains they are "strategically positioned" so users connecting to a CDN are routed "to the edge server with the lowest latency, typically the server that is physically closest to them".
A simple analogy: imagine your site is a pizzeria in Virginia. Without a CDN, a customer in Mexico City has to wait for the pizza to travel from Virginia each time they order. With a CDN, you open branches in Mexico City, Monterrey, and Bogotá. When someone orders, they get the pizza from the nearest branch — and it arrives warm instead of cold.
The scale of these networks has grown enormously. According to Amazon Web Services' official documentation, their CDN — CloudFront — operates with "750+ globally dispersed Points of Presence (PoPs)". That means for almost any customer in any country, there is a CloudFront server milliseconds away. Cloudflare's and Fastly's CDNs operate at similar scale.
"Cache" is a word used for three different things, and conflating them confuses the conversation with your developer. Worth separating.
1. Browser cache: a local copy on the client device. When a visitor loads your logo once, their browser can store it and skip re-downloading it on the next page. This cache is controlled by HTTP headers your server sends. According to MDN's HTTP Caching documentation, this is a "private cache", defined as "a cache tied to a specific client — typically a browser cache".
2. Server cache (or origin cache): your server stores pre-rendered pages so it does not have to generate them from scratch each time. If your site runs on WordPress, plugins like WP Rocket or W3 Total Cache do this. When someone requests your homepage, the server delivers pre-built HTML instead of querying the database and assembling it live.
3. CDN: the distributed cache. MDN classifies it as a "shared cache" — located between client and server, including "proxy caches" and "managed caches: explicitly deployed by service developers (CDNs, reverse proxies, service workers)".
The three work together, not against each other. A well-optimized site uses all three: the client browser caches static assets, the server caches dynamic pages, and the CDN serves everything from an edge close to the visitor.
For caching to work, your server must send clear instructions to the browser and to the CDN. These instructions live in an HTTP header called Cache-Control. According to web.dev — Google's official web developer guide — there are three recommended configurations:
The three configurations web.dev recommends:
Cache-Control: max-age=31536000: for versioned files (images, CSS, JS with fingerprints). One year. web.dev defines this as "enables one-year caching for fingerprinted assets that never change in content".Cache-Control: no-cache: for resources that must revalidate before each use (like your homepage HTML). web.dev explains this "instructs the browser that it must revalidate with the server every time before using a cached version".Cache-Control: no-store: for resources that must never be cached (pages with sensitive data, active shopping carts).Additionally, web.dev mentions that the immutable property can be added to Cache-Control headers for further optimization on files that truly never change, though it notes that "it will be ignored in some browsers".
To validate cached files, both MDN and web.dev recommend using the ETag and Last-Modified headers. When a browser finds a cached file whose expiration has passed, it sends these tokens to the server asking "did this change?". If it has not, the server replies with a 304 Not Modified status instead of retransmitting the full file — saving bandwidth and speeding up load time.
You do not need a developer to verify whether your site is using CDN and caching correctly. Three tests, each under five minutes.
Test 1 — PageSpeed Insights: go to pagespeed.web.dev and enter your domain. Look specifically at TTFB (Time to First Byte). If it is above 600 ms, almost certainly you have no CDN — or your CDN is not serving HTML. Below 200 ms indicates a working CDN.
Test 2 — HTTP headers: open your site in Chrome, right-click, "Inspect", "Network" tab, reload the page, click the first HTML request, and look at "Response Headers". Look for any of these: cf-cache-status (Cloudflare), x-cache: HIT (CloudFront/Fastly), x-served-by (Fastly), x-amz-cf-pop (CloudFront). If none appear, you are not using a CDN.
Test 3 — Test from another country: use a free tool like tools.keycdn.com/performance or webpagetest.org. These let you load your site from servers in Sydney, Tokyo, Frankfurt, and Bangalore. If load times vary dramatically (1.2s in Houston, 7.5s in Tokyo), you are not using a CDN. With a CDN configured, times should look similar across all regions.
There is no single right answer, but the decision comes down to three factors: geographic coverage, integration with your current stack, and price. Here is the essential picture of each based on their official documentation.
Amazon CloudFront: AWS describes it as a service to "securely deliver content with low latency and high transfer speeds". Its 750+ global Points of Presence, native integration with S3 and other AWS services, and inclusion of AWS Shield Standard against DDoS at no extra charge make it the default option if you are already in the AWS ecosystem. AWS documentation also highlights "zero fees for data transfer from AWS origins".
Fastly: focused on dynamic content, programmable configuration, and extreme performance. Fastly's documentation highlights capabilities including "DDoS mitigation through traffic filtering", "Transport Layer Security (TLS) and Secure Socket Layer (SSL) certificates", "Web Application Firewalls analyzing HTTP requests", and "bot detection technology".
Cloudflare: the most popular option for small businesses thanks to its robust free plan and ease of configuration. (Note: Cloudflare's official page was inaccessible at the time of this research, so we omit specific figures here.)
Beyond speed, CDNs perform critical security functions that traditional hosting simply does not provide. According to Fastly, a modern CDN delivers "DDoS mitigation through traffic filtering", TLS/SSL certificates for encryption, Web Application Firewalls that analyze HTTP requests, and bot detection technology against malicious automated traffic.
AWS CloudFront includes AWS Shield Standard "to defend against DDoS attacks at no additional charge". That means if someone tries to take down your site by sending millions of fake requests, the CDN absorbs the blow before it reaches your server. For a small e-commerce store, this protection alone justifies using a CDN.
Additionally, Fastly notes that CDNs allow "high availability" — a site can be "always on", continuing service even when origin servers fail. If your hosting goes down, visitors can still see the cached version of your site from the CDN — critical for not losing sales during incidents.
A common concern when implementing caching is: "what if I have different content for customers in different languages or devices?" The answer is the Vary header. According to MDN, configuring Vary: Accept-Language "causes the cache to be keyed based on a composite of the response URL and the Accept-Language request header — rather than being based just on the response URL".
In plain business language: with Vary configured, a customer viewing your site in Spanish gets a different cached version than a customer viewing it in English. Both load fast, but neither sees the wrong content. This is the correct mechanism for bilingual sites.
A CDN (Content Delivery Network) is a network of servers distributed across many geographic locations that store copies of your site close to your customers. When a customer in Mexico City visits your store hosted in Virginia, the CDN delivers the page from a much closer server, reducing latency and speeding up load time.
Browser cache stores copies on the client device so repeat visits do not re-download files. Server cache (or origin cache) stores pre-rendered pages so the server can respond faster. A CDN is a shared cache running on many edge servers around the world, which reduces the physical distance between client and files.
Yes, almost always. Even if all your customers are in Houston or Monterrey, a CDN improves speed because it reduces origin-server load, protects against DDoS attacks, and improves the Core Web Vitals Google uses for ranking. Speed affects conversion: every extra second of load can cost sales.
All three are commercial CDNs with global networks, but they differ in coverage, price, and focus. Amazon CloudFront operates over 750 global Points of Presence and integrates with AWS. Fastly focuses on dynamic content and programmable configuration. Cloudflare offers a generous free plan and focuses on ease of use and security.
Three quick checks: run your domain through PageSpeed Insights and look at TTFB; open your browser's developer tools and look for response headers like cf-cache-status, x-cache, or x-served-by; run a multi-region load test on webpagetest.org. If load times vary dramatically across regions, you do not have a CDN.
"Seventy percent of the slow sites we audit do not need better hosting. They need properly configured caching and a CDN turned on. It is the difference between paying more every month or fixing the root cause once."
- Diego Medina F, Founder of MerchandisePROS
If your site loads slowly, customers leave before they buy. Google penalizes slow sites in ranking. ChatGPT and Perplexity cite fast sites over slow sites when recommending businesses. MerchandisePROS Website Consulting service includes a full Core Web Vitals analysis: we measure your TTFB across multiple regions, review your cache headers, verify whether you have a CDN active, and — if not — guide you step by step through implementing Cloudflare, Fastly, or CloudFront based on your current stack. It is not hiring a generic developer — it is a consultant who tells you exactly what to do and why.
The first step is knowing where you stand. Our free audit runs every test mentioned above — TTFB, HTTP headers, multi-region tests, cache configuration — automatically, and delivers a PDF report with the exact diagnosis and an action plan prioritized by impact.
Get your free Core Web Vitals audit: TTFB, cache headers, multi-region tests, and CDN diagnosis. PDF report to your inbox in 60 seconds.
Audit My Site Free Free Consultation