Wat is een CDN en hoe versnelt het je site?

Auteur: Gepubliceerd

In het kort: Een CDN is een netwerk van servers dat websitecontent vanuit geschikt gekozen locaties aan gebruikers levert, in plaats van alles van één server op te halen. Het kan de laadtijd van afbeeldingen, scripts en andere bestanden verkorten en de hosting ontlasten. Het vervangt echter geen goed werkende server of websiteoptimalisatie. Hoe effectief het is, hangt af van het soort content en de configuratie.

Hoe een CDN en de cache werken

CDN staat voor Content Delivery Network: een netwerk voor het leveren van content. De servers vormen een schakel tussen de bezoeker en de oorsprongsserver: de server waarop de website draait of de originele bestanden staan. Het verkeer wordt naar een geschikt netwerkknooppunt geleid. Dat is niet noodzakelijk het geografisch dichtstbijzijnde knooppunt; ook de netwerkomstandigheden en beschikbaarheid spelen een rol.

Het belangrijkste mechanisme van een CDN is caching: het tijdelijk opslaan van kopieën. Een server in het netwerk kan een kopie van een afbeelding, een stylesheet in CSS of een bestand in JavaScript bewaren en aan volgende bezoekers leveren, zonder die opnieuw bij de hosting op te halen. Als er nog geen kopie is of deze is verlopen, haalt het CDN de content doorgaans volgens de ingestelde regels op bij de oorsprongsserver.

Stel je een webwinkel voor die op een server in Polen draait en ook klanten uit Canada heeft. Zonder CDN halen hun browsers de productafbeeldingen rechtstreeks uit Polen op. Met een CDN kunnen ze opgeslagen kopieën ontvangen van een knooppunt dat via het netwerk dichterbij is, waardoor de vertraging afneemt. Bij het eerste verzoek om een bepaald bestand kan contact met de oorsprongsserver echter nog steeds nodig zijn.

Wat een CDN versnelt en wat het niet oplost

De eenvoudigste toepassing van een CDN is het leveren van statische bestanden: bestanden die niet per bezoeker verschillen. Denk aan afbeeldingen, lettertypen, stylesheets, scripts en downloadbare bestanden. Een eenmaal opgeslagen kopie kan worden gebruikt om verzoeken van veel verschillende mensen te beantwoorden.

Een CDN kan ook volledige pagina’s in HTML opslaan, als de regels van de dienst en de applicatie dat toestaan. Hierbij is meer voorzichtigheid nodig: voor een openbaar adviesartikel gelden doorgaans andere cacheregels dan voor een winkelwagen, een klantomgeving of een pagina met persoonlijke prijzen. Dynamische content, die voor een specifiek verzoek wordt gegenereerd, is niet altijd geschikt voor een gedeelde cache.

Een CDN neemt de oorzaak van een trage applicatie niet weg. Als een pagina enkele seconden op een databasequery moet wachten, kan een verzoek dat de server moet bereiken nog steeds traag zijn. Het netwerk lost ook niet op dat er te veel scripts in de browser worden uitgevoerd. Het kan een grote afbeelding sneller leveren, maar het verkleinen daarvan blijft een aparte taak.

Sommige diensten bieden daarnaast beeldoptimalisatie, verkeersfiltering of bescherming tegen DDoS-aanvallen: pogingen om een dienst met massale aantallen verzoeken te overbelasten. Niet elk CDN biedt echter dezelfde functies. Controleer de mogelijkheden en limieten in de documentatie van de betreffende aanbieder.

CDN, hosting en DNS hebben verschillende rollen

Hosting biedt de middelen om bestanden op te slaan en een applicatie te laten draaien. Een CDN fungeert vooral als tussenlaag voor het leveren van content en ontlast de oorsprongsserver. Bij een gebruikelijke implementatie heb je nog steeds hosting nodig, ook als bezoekers de meeste afbeeldingen uit de cache van het CDN ontvangen.

DNS is het systeem dat helpt bepalen waar een verbinding voor een bepaalde domeinnaam naartoe moet. Om een CDN aan te sluiten, moet je vaak de records in DNS of de nameservers van het domein wijzigen. Dat betekent niet dat de applicatie zelf verhuist: de route waarlangs verzoeken de website bereiken, verandert.

Je kunt een CDN voor de hele website inzetten of alleen voor een apart subdomein met bestanden, bijvoorbeeld static.example.com. Bij de eerste optie moet je vooral de afhandeling van inloggen en privécontent zorgvuldig instellen. Zorg in beide gevallen voor HTTPS, dus een versleutelde verbinding, ook tussen het CDN en de oorsprongsserver.

Wanneer een CDN zinvol is

Een CDN is vooral nuttig wanneer je publiek verspreid is over verschillende regio’s, je website veel bestanden aanbiedt of je af en toe plotselinge verkeerspieken hebt. Veel gebruikers die hetzelfde materiaal downloaden, kunnen dan kopieën ontvangen in plaats van met elk verzoek de hosting te belasten.

Voor een kleine, lokale website waarvan de bezoekers zich dicht bij een goede server bevinden, kan de winst minder merkbaar zijn. Controleer voordat je een extra dienst toevoegt wat de website daadwerkelijk vertraagt: de reactie van de applicatie, de overdracht van afbeeldingen of de uitvoering van scripts in de browser. Vergelijk metingen vanaf locaties waar je bezoekers zich bevinden, niet alleen vanaf je eigen computer.

Controleer bij het kiezen van een aanbieder hoe dataverkeer en verzoeken worden afgerekend, wat het bereik van het netwerk is, welke bestandslimieten gelden en of je kopieën snel uit de cache kunt verwijderen. Raadpleeg de officiële prijslijst, documentatie en dienstvoorwaarden om de actuele prijzen, beschikbaarheid van functies en regels voor gegevensverwerking te bevestigen.

Een CDN instellen zonder problemen met content

Het grootste configuratierisico is dat een antwoord met privégegevens wordt opgeslagen als een kopie die ook voor anderen toegankelijk is. Een ander veelvoorkomend probleem is dat na een wijziging aan de website verouderde bestanden worden getoond. Een korte implementatieprocedure helpt:

  1. Bepaal wat in de cache mag. Begin met openbare afbeeldingen, CSS en JavaScript. Sluit de winkelwagen, het klantaccount en antwoorden met gebruikersgegevens uit van de gedeelde cache.
  2. Bepaal hoe lang kopieën geldig blijven. De TTL, oftewel de levensduur van een cache-item, moet passen bij hoe vaak de content verandert. Controleer hoe het CDN de headers voor caching interpreteert, waaronder Cache-Control.
  3. Plan updates. Gebruik voor gewijzigde bestanden nieuwe namen, bijvoorbeeld style.v2.css, of verwijder oude kopieën met de functie om de cache te wissen.
  4. Test veelgebruikte handelingen. Controleer inloggen, formulieren, aankopen en het publiceren van wijzigingen. Vergelijk de werking voor een ingelogde en een anonieme gebruiker.

Bewaar de bestaande configuratie voordat je DNS wijzigt en zorg dat je de implementatie kunt terugdraaien. Begin met een beperkte groep bestanden, meet het effect en breid pas daarna de cacheregels uit.

Zie ook: Wat is een AI-agent?

Lees ook

Lees hoe PHP-FPM PHP-verzoeken verwerkt, verschilt van een webserver en hoe je processen afstemt op verkeer en hostingcapaciteit.
Ontdek hoe BIND als open DNS-serversoftware domeinen beheert, welke rollen het vervult en wanneer zelf beheren zinvol is.
Lees wat het Poolse REGON-register en -nummer betekenen, hoe ze verschillen van NIP en KRS en hoe je bedrijfsgegevens controleert.