Wat is een CDN? Content delivery networks eenvoudig uitgelegd
Een CDN (content delivery network) is een netwerk van servers verspreid over veel steden, die kopieën bewaren van de bestanden van je website: afbeeldingen, scripts, stylesheets en soms hele pagina’s. Wanneer iemand je site bezoekt, wordt hij bediend vanaf een locatie in de buurt in plaats van vanaf één server ver weg. Dat maakt pagina’s sneller, haalt belasting van je eigen server af en helpt de site om pieken in verkeer aan te kunnen.
Waarom CDN’s ertoe doen als je met AI bouwt
Je zet misschien nooit zelf een CDN op. Veel hostingplatforms plaatsen er automatisch een voor je site. Maar je merkt wel wat het doet:
- Snelheid. Snel ladende pagina’s houden bezoekers vast en zijn een van de dingen waar zoekmachines naar kijken. Zie hoe je je website sneller maakt.
- “Waarom is mijn wijziging niet zichtbaar?” Nadat je een update hebt gepubliceerd, kan een gecachete kopie van de oude versie nog even blijven hangen. Weten waarom dat gebeurt, scheelt veel verwarring.
- Privacy en correctheid. Als een CDN het verkeerde cachet, zoals een pagina met de gegevens van één gebruiker, kan de volgende bezoeker die zien. Als je weet wat wel en niet gecachet mag worden, stel je de juiste vragen.
Een alledaagse vergelijking
Stel je een bakkerij voor die haar brood landelijk verkoopt vanuit één winkel. Elke klant, hoe ver weg ook, moet wachten op bezorging vanuit die ene winkel, en op een drukke dag is de rij enorm.
Een CDN is alsof je hetzelfde brood in plaatselijke buurtwinkels door het hele land legt. Klanten halen het dichtbij op, snel, en de hoofdbakkerij hoeft de buurtwinkels alleen nu en dan bij te vullen. Het addertje: als de bakkerij het recept verandert, verkopen de buurtwinkels nog de oude broden totdat ze worden vervangen of de oude voorraad verloopt.
Hoe een CDN werkt
- Je origin. Je site staat op je hoofdserver of hostingplatform. Dat heet de origin.
- Edge-locaties. Het CDN draait servers op veel plekken, edge-locaties of points of presence genoemd.
- Routering. Wanneer een bezoeker je site opvraagt, stuurt DNS of de netwerkroutering hem naar een edge in de buurt. Zie hoe domeinen en DNS werken.
- Cache-hit. Als die edge al een verse kopie van het bestand heeft, stuurt hij die meteen.
- Cache-miss. Zo niet, dan haalt de edge het bestand bij je origin op, stuurt het naar de bezoeker en bewaart een kopie voor de volgende persoon.
- Verlopen. Elke kopie blijft een vastgestelde tijd bewaard, bepaald door cache-headers die je server meestuurt, of tot hij wordt gewist.
Een uitgewerkt voorbeeld: een portfoliosite met foto’s
Het portfolio van een fotograaf heeft een homepage, een galerij met 60 grote afbeeldingen en een contactformulier. De origin staat in Europa. Een bezoeker in Singapore opent de galerij.
- Zonder CDN: elke afbeelding reist vanuit Europa. Elk verzoek legt een reis over de hele wereld af, dus de galerij laadt traag.
- Met CDN: het eerste bezoek in de buurt van Singapore zorgt ervoor dat de edge daar de afbeeldingen ophaalt en opslaat. Elke volgende bezoeker in die regio krijgt ze van dichtbij, en veel sneller.
Nu vervangt de fotograaf de hoofdfoto van de homepage en publiceert opnieuw. Dit bepaalt of bezoekers de nieuwe versie zien:
/index.html → korte cachetijd, vaak gecontroleerd
/assets/index-3f9a2c.js → lang gecachet
/assets/hero-8b41d0.jpg → lang gecachet
Moderne buildtools, waaronder Vite, geven bestanden gehashte namen zoals hero-8b41d0.jpg. Wanneer een bestand verandert, verandert ook zijn naam, dus vraagt de pagina om een gloednieuw bestand dat nog geen enkele cache heeft gezien. De HTML-pagina zelf wordt maar kort gecachet, zodat die al snel naar de nieuwe bestanden verwijst. Dat is de standaardmanier om zowel lange caching als verse updates te krijgen.
Het contactformulier is anders. De inzendingen gaan elke keer naar de server; die mogen nooit worden gecachet.
Wat wel en niet cachen
| Meestal lang cachen | Meestal kort cachen | Niet cachen in een gedeeld CDN |
|---|---|---|
| Afbeeldingen, lettertypen, video’s | HTML-pagina’s van een openbare site | Pagina’s met inlog, dashboards |
| JavaScript en CSS met gehashte namen | Openbare API-data die af en toe verandert | Alles met persoonsgegevens |
| Downloadbare bestanden die zelden veranderen | Formulierinzendingen, betalingen, elk POST-verzoek |
Belangrijke begrippen
| Begrip | Betekenis |
|---|---|
| Origin | Je hoofdserver of host, waar de echte bestanden staan. |
| Edge / PoP | Een CDN-locatie die bezoekers in de buurt bedient. |
| Cache-hit / miss | De edge had het bestand / moest het bij de origin ophalen. |
| TTL | Time to live: hoe lang een gecachete kopie wordt bewaard. |
| Cache-Control-header | De instructie die je server meestuurt over of en hoe lang iets gecachet mag worden. |
| Purge / invalideren | Het CDN opdracht geven gecachete kopieën nu weg te gooien. |
| Cache busting | Een bestandsnaam of URL veranderen wanneer het bestand verandert, zodat caches de nieuwe versie ophalen. |
| Latentie | De vertraging door afstand en netwerkstappen. |
Voor caching in het algemeen, in browsers, servers en databases, zie wat caching is.
Veelvoorkomende misverstanden
- “Een CDN maakt alles sneller.” Het versnelt het leveren van bestanden. Een trage databasequery of een trage AI-aanroep op je server blijft traag.
- “Een CDN vervangt hosting.” Het staat voor je hosting. Je hebt nog steeds een origin nodig.
- “Als ik de site heb geüpdatet, zien iedereen het direct.” Oude kopieën kunnen even blijven hangen in het CDN en in browsers. Doe een harde refresh om te controleren, en gebruik gehashte bestandsnamen.
- “Caching is altijd veilig.” Een gepersonaliseerde pagina in een gedeelde cache is een echt privacyrisico. Privé-antwoorden moeten als niet-cachebaar worden gemarkeerd.
- “CDN’s zijn alleen voor grote bedrijven.” Veel hosts bieden er voor kleine sites een aan zonder extra moeite.
Wat je aan je AI-appbouwer kunt vragen
- “Staat er een CDN voor deze site? Welke bestanden cachet het, en hoe lang?”
- “Zorg dat gebouwde JavaScript-, CSS- en afbeeldingsbestanden gehashte namen en lange cachetijden hebben, en dat HTML een korte heeft.”
- “Cache nooit pagina’s met inlog of API-antwoorden met persoonsgegevens in een gedeelde cache.”
- “Comprimeer en verklein afbeeldingen zodat de galerij snel laadt.”
- “Ik heb een update gepubliceerd maar zie nog de oude versie. Ligt het aan de browsercache of aan het CDN?”
CDN’s en Mythex
Als je op Mythex publiceert, worden statische frontends als statische sites uitgerold, en de documentatie vermeldt dat CDN-caches na een update even kunnen achterlopen: zie je na het opnieuw publiceren nog een oude versie, doe dan een harde refresh van de publieke URL. Daar hoef je niets voor in te stellen. Als je een eigen domein koppelt waarvan de DNS bij Cloudflare staat, vraagt de documentatie je het record op “alleen DNS” te zetten in plaats van geproxied, zodat Mythex HTTPS correct kan uitgeven. Zie hoe je publiceert en eigen domeinen in de documentatie, en onze gids over webhosting.
Veelgestelde vragen
Wat is een CDN in het kort?
Een CDN (content delivery network) is een netwerk van servers op veel locaties die kopieën van de bestanden van je website bewaren. Bezoekers worden bediend vanaf een locatie bij hen in de buurt, in plaats van vanaf je hoofdserver. Pagina’s laden daardoor sneller en je server heeft minder werk.
Waarom zie ik nog de oude versie van mijn site na een update?
Meestal omdat er een kopie van het oude bestand in cache staat, in het CDN, in je browser, of allebei. Een harde refresh lost de browserkant op; CDN-kopieën verlopen vanzelf of kunnen worden gewist. Buildtools voorkomen de meeste problemen door gewijzigde bestanden een nieuwe naam te geven.
Heb ik een CDN nodig voor een kleine website?
Vaak heb je er een zonder het te kiezen, omdat veel hostingplatforms automatisch een CDN voor sites plaatsen. Als dat bij jou niet het geval is en je bezoekers verspreid zitten over meerdere landen, is het toevoegen ervan meestal de moeite waard.
Kan een CDN de gegevens van mijn app en pagina’s met inlog cachen?
Het kan alles cachen wat het mag cachen, daarom moet het zorgvuldig worden ingesteld. Openbare bestanden zoals afbeeldingen, scripts en stijlen zijn ideaal. Persoonlijke of ingelogde inhoud mag normaal gesproken niet in een gedeeld CDN worden gecachet, anders zou de ene gebruiker de gegevens van de andere kunnen zien.