You open a site hosted in France from the other side of the world and its pages arrive faster than you expect, then a developer tells you the reason is that the site runs "behind a CDN". So what is a CDN? Is it a second hosting service? And does your small site need one? This article explains the idea from the roots in simple language, then shows you how to check for yourself that a site uses one.
The takeaway in two lines: a CDN (content delivery network) is a group of geographically distributed servers that keep copies of your site's files near its visitors, so not every request travels to the distant origin server. It does not host your site and does not replace hosting, but it cuts load time, server load and the transfer bill, and adds a layer of protection.
📋 Quick summary: a CDN in one table
| Term | What it means in simple words |
|---|---|
| CDN | A network of distributed servers that stores your site's content near its visitors to deliver it faster |
| Origin server | Your hosting server that holds your site's original files and that the CDN pulls from |
| Edge server / point of presence (PoP) | The CDN server near the visitor, in one of the network's data centers |
| Cache Hit / Miss | Hit: the edge found the file in its memory and served it. Miss: it did not find it and fetched it from the origin |
| TTL | How long the file stays in the cache before it counts as stale |
| Purge | Clearing a file from the network's cache at once after you change it, without waiting for the TTL to end |
| What does it store? | Static files (images, CSS, JavaScript, fonts, video), and with special setup some dynamic pages |
What is a CDN? The precise definition
Cloudflare defines it as a group of geographically distributed servers that store content near end users, which allows the files needed to load a web page to move quickly: HTML pages, JavaScript files, style sheets, images and video. Google describes it on web.dev as a network of servers set up to deliver content to users quickly, and says it reduces server load and absorbs rises in traffic.
Why did the idea appear?
The problem is geographic before it is technical: the farther the visitor is from the server, the longer the request and reply take (the round-trip time, RTT). If your site is on a server in America and your visitor is in Egypt, every file crosses an ocean. So the fix is to put copies of the files in data centers close to visitors. To learn what a data center is, read what a data center is.
Is a CDN hosting?
No. Cloudflare says a CDN does not host content and does not replace proper hosting; it only keeps copies of it at the edge of the network. So hosting stores your original files, and the CDN brings them closer to your visitors. To understand the role of hosting and the server, read what web hosting is and what a server is.
How does a CDN work? The request's journey from click to page
- The visitor types your site's address. DNS systems turn the name into an address that points to the CDN, not directly to your server (through a CNAME record or by delegating DNS to the company, depending on the service).
- The request reaches the nearest edge server. Some networks use Anycast routing, which sends the request to the nearest center, and to another one if the nearest fails.
- The edge checks its cache. If it finds the file, this is a Cache Hit and it delivers it at once.
- If it does not find it, this is a Cache Miss. The edge asks your origin server for it, saves a copy and delivers it to the visitor. This is the "origin pull" approach, the most common according to web.dev.
- The next visitor gets the saved copy. Their request never reaches your server until the copy expires or is cleared.
Even for files that are not stored, web.dev says passing through the CDN is often faster: the new connection ends at a server near the visitor, and the rest travels over the network's ready connections to your server instead of a direct connection from scratch. Some networks add layers: edge servers near users rely on central ones with a higher hit rate, balancing lower latency against a greater chance that the file is in the cache.
Hostinger lists a CDN among the features of its Premium, Unlimited and Cloud Startup plans. Premium is $2.99 a month on a 48-month prepayment and renews at $10.99
☑️ See Hostinger plans
What does a CDN store? Static, dynamic and private
Static content
Images, CSS, JavaScript, fonts, video and library copies: these hardly change, so they are stored for a long time (web.dev suggests periods of up to six months or a year for static files).
Dynamic content
A page generated by your server for each visitor (a shopping cart, an account page, search results) is usually served by origin servers, not by the cache, as Cloudflare says. But web.dev points out that content that changes often can be stored for a few seconds (five seconds, for example) at peak times, which reduces server load with no noticeable effect on how fresh the data is. Some networks also let you run code at the edge to generate part of the dynamic content.
Private content
What belongs to one user (their account data) must not be stored by the CDN, because someone else could receive it. That is declared with a Cache-Control: private or no-store header, and without them the file may be stored, according to web.dev. A setup mistake here is serious: an account page gets stored and shows to someone who does not own it.
How is the time to stay in the cache set?
With HTTP headers such as Cache-Control: max-age=, s-maxage= and Expires, and at least one of them is needed for the CDN to store the file, according to web.dev. If you change a file before its time is up, you clear it from the network with a Purge.
Comparisons readers mix up
| Comparison | The difference |
|---|---|
| CDN vs hosting | Hosting stores your original files and runs your site, while the CDN keeps copies of them near visitors and does not replace hosting |
| CDN vs browser cache | The browser cache keeps files on one visitor's device, while the CDN keeps them on shared servers that serve all visitors |
| CDN vs a cache plugin | A plugin stores ready-made pages on your own server, which cuts computation and database queries, while a CDN brings files closer to the visitor geographically. You can combine them |
| CDN vs Cloudflare | CDN is the name of the technology, and Cloudflare is a company that offers a CDN among other services (protection, DNS and more); for detail read what Cloudflare is |
| Pull vs Push | In Pull the CDN pulls the file from your server on the first request (the most common), and in Push you upload the files to the network's storage in advance. Vultr lists both Push and Pull zones in its service |
Kinsta lists a CDN and edge caching on every plan, with 125GB to 1,000GB of CDN bandwidth depending on the plan. Launch is $35 a month, or $350 a year
☑️ See Kinsta plans
What does a CDN really do for you?
1. Faster loading
Less distance means a shorter round trip. web.dev says a CDN clearly improves time to first byte (TTFB) and is effective at improving the largest contentful paint (LCP), because it speeds delivery of the page and the static files needed to paint it. Cloudflare sums up the benefits in four: load speed, a lower transfer bill, more availability and better security.
2. A lower transfer bill and lighter load
Every request that reaches your server uses transfer (bandwidth) and processing power. If the edge serves most requests from its cache, less reaches your server, which helps on hosting that bills for excess transfer. web.dev says an acceptable target for the cache hit ratio is about 90% for most sites.
3. Availability and protection
Because it is distributed, it withstands more pressure and failures than one server, and it redirects requests to another center if one fails. Cloudflare says correct setup may protect against some attacks such as distributed denial-of-service (DDoS), and that a CDN manages encryption certificates and may host a web application firewall (WAF). This is partial protection and does not replace securing your site.
4. How much it helps depends on how near the network is to you
The effect depends on how close the network's centers are to your visitors. Cloudflare's network page says it operates in 348 cities, including 19 across the Middle East (Dubai, Riyadh, Tel Aviv and more), and that 95% of the world's internet-connected population is within 50 milliseconds of one of its data centers (company figures). Other CDNs publish their own location counts, so check the one you plan to use.
How do you get a CDN? Three routes and their prices
| Route | Examples | Published price | Note |
|---|---|---|---|
| Included in hosting | Hostinger and Kinsta | Inside the plan price (Kinsta lists 125GB to 1,000GB of CDN bandwidth by plan) | Usually no separate setup |
| An add-on at your host | Cloudways (Cloudflare Enterprise) | From $4.99 a month per domain | You add it for each site you want |
| A standalone service | Cloudflare and Vultr CDN | Cloudflare: a free plan at $0 and Pro at $20 a month (billed annually). Vultr: see its pricing page | You set up DNS or records yourself |
| A WordPress plugin | Jetpack (an image CDN) | Included in the free plan for images | It serves images, not the rest of the page |
Cloudflare's pricing page shows a free plan for personal projects at $0 with the CDN in its matrix, Pro at $20 a month (billed annually) or $25 a month, and Business at $200 or $250. For detail on managed WordPress hosting read the Kinsta review and the Cloudways review, and for the bundle of WordPress add-ons read the Jetpack review.
Jetpack's free plan lists a global image CDN, with brute-force protection and basic stats
☑️ Try Jetpack
How do you check that a site runs behind a CDN? Steps you can do yourself
You do not need paid tools: the headers servers send back tell you. Open any site you want to check and follow the steps:
Server, CF-Cache-Status, X-Cache, Age and Cache-Control; their meanings are explained below.A live example: what a request showed on October 12, 2026
Here is the jQuery library (version 3.7.1) requested from two well-known library CDNs, with the main headers as they came back (abridged; the second edge server ID is shortened). In the cdnjs request CF-Cache-Status: BYPASS also appeared, next to x-cdnjs-cache: HIT, a state the documentation explains as the response not being treated as cacheable at that layer at that moment, so do not expect a HIT on every file.
# cdnjs.cloudflare.com
Server: cloudflare
CF-RAY: a497719a3fc1fa5c-MRS
Cache-Control: no-transform, public, s-maxage=30672000, max-age=30672000, immutable
Age: 1786462
x-cdnjs-cache: HIT
CF-Cache-Status: BYPASS
# cdn.jsdelivr.net
cache-control: public, max-age=31536000, s-maxage=31536000, immutable
x-served-by: cache-fra-...-FRA
x-cache: HIT
cf-cache-status: HIT
Age: 1183005
| Header | What it means in the example |
|---|---|
CF-RAY: ...-MRS | A Cloudflare request ID. The three-letter code at the end shows the data center that handled the request (its documentation says it is the center's location code). MRS here is Marseille |
Cache-Control: ... max-age=30672000 | How long the file stays in the browser and network cache, in seconds: about 355 days. immutable means the file will not change in this period |
Age: 1183005 | The copy has been in the network cache for about 13.7 days when it served us |
x-cache: HIT and cf-cache-status: HIT | The file was found in the cache, so it was served from there with no trip to the origin |
x-served-by: ...-FRA | The edge server that answered was in Frankfurt. That is, networks differ in which center is nearest to you |
Cloudflare's documentation says CF-Cache-Status values include HIT (found in the cache), MISS (cacheable but not present, so fetched from the origin), EXPIRED (present but expired, so fetched from the origin), STALE (served an expired copy because the origin did not respond), BYPASS (the response is not cacheable) and DYNAMIC (not normally cached). If you see HIT on your static files, the CDN is working.
Vultr lists a CDN service with Push and Pull zones, alongside 33 server locations
☑️ See Vultr
Common mistakes that slow your site even with a CDN
- A low hit ratio. Wrong caching rules, query strings in the link (such as
?ref=...) that make every link a separate copy, or a Vary header that fragments the cache. web.dev advises ignoring query parameters that do not matter and sorting the rest. - Storing private pages. A cart or account page gets stored and shows to someone who does not own it. The fix is a
privateorno-storeheader and excluding these pages from caching. - Stale content after an edit. You changed an image or CSS and the visitor still sees the old one because the copy has not expired. The fix is a Purge of the file, or naming it with a new version number.
- A slow or down origin server. If the edge cannot fetch the file it cannot store it, so a CDN does not fix a broken server.
- Distant third-party scripts. A script from another site can slow the page however good your own CDN is, and Cloudflare advises measuring them with developer tools and replacing the troublesome ones.
- Huge or unoptimized files. Some large files may not be stored, depending on the network's limits and your plan.
🎯 Who benefits from a CDN, and who does not need one?
✅ It helps a lot if:
- Your visitors are spread across several countries or continents
- Your site is heavy with images, video and files
- You face traffic spikes or attacks
- Your hosting bills for excess transfer
⚠️ The effect is smaller if:
- Your visitors are all in one country and your server is there or very near
- Your site is small, light and gets little traffic
- Most of your pages are dynamic and specific to each user (a closed app)
Even in the second case a free CDN still helps with protection and lower server load, but the biggest speed effect comes when the distance between visitor and server is large. If your audience is far from your server, choose a server closer to them (see the Vultr VPS review for its locations), and for other server choices read what a VPS is and what cloud hosting is.
🏆 The final verdict: when should you add a CDN to your site?
Add a CDN if your visitors are far from your server or your site is heavy with static files, and start with the simplest: a CDN included in your hosting, Cloudflare's free plan, or Jetpack's image CDN for a WordPress site. Then check the headers to see that your files are served with HIT, that account and cart pages are not stored, and note a Purge step for when you edit your files.
And remember that it is a layer that brings files closer and does not fix a site that is slow at its core: if the origin server is slow or the images are uncompressed, deal with those first.
Cloudways: a Cloudflare Enterprise add-on from $4.99 a month per domain
☑️ See Cloudways
To understand the distributed denial-of-service attacks that CDN networks absorb part of, read what a DDoS attack is.
✅ CDN FAQ
❓ What is a CDN?
❓ Is a CDN hosting?
❓ Is a CDN free?
❓ Do I need a CDN if my visitors are in one country?
❓ Does a CDN speed up dynamic pages?
❓ What do Cache Hit and Miss mean?
❓ How do I know my site runs behind a CDN?
Server: cloudflare, CF-Cache-Status, X-Cache or Age. A HIT means the file was served from the network's cache.❓ How do I clear the CDN cache after I edit my site?
❓ Does a CDN affect my ranking on Google?
❓ Does a CDN protect against DDoS attacks?
❓ What is the difference between a CDN, a cache plugin and the browser cache?
❓ What is the difference between a CDN and Cloudflare?
And check the headers to see that your static files are served with HIT
☑️ See Hostinger hosting with a CDN
Have you tried a CDN on your site? Share with us in the comments what showed in your headers and how much your load time improved.
Related Articles
☁️ What is Cloudflare
The company that offers a CDN, protection and DNS to millions of sites. Read the guide
🛰️ What is DNS
How the browser reaches your site and how a visit is turned toward the CDN. Read the guide
🏢 What is a data center
Where hosting servers and the CDN run. Read the guide
📶 What is bandwidth
Transfer capacity, and why a CDN lowers its bill. Read the guide
🌐 What is web hosting
What hosting stores and what a CDN adds on top. Read the guide