Wat is een CDN?
CDN staat voor Content Delivery Network, een wereldwijd netwerk van servers dat ingezet kan worden om content, zoals afbeeldingen en video's, via de snelste route aan de eindgebruiker te bezorgen. Website-eigenaren kunnen een CDN bijvoorbeeld inzetten om webpagina's sneller te doen laden.
Gegevens die via het internet worden uitgewisseld, reizen grotendeels met de snelheid van het licht van het ene punt naar het andere. Wanneer zowel de webserver als de eindgebruiker zich in Nederland bevinden, is de vertraging (latency) minimaal, omdat de fysieke afstand klein, en de netwerkinfrastructuur van hoge kwaliteit is. Maakt iemand uit de Verenigde Staten verbinding met dezelfde server, dan moeten de gegevens een veel langere afstand afleggen.
Een CDN zorgt er ten eerste voor dat bestanden, zoals afbeeldingen, video's, stylesheets en JavaScript, vanaf de bron gekopiëerd worden naar servers op verschillende continenten. Wanneer de website-eigenaar het CDN heeft geïmplementeerd, door de internetadressen (URLs) van pagina-elementen te wijzigen, zal het CDN verzoeken beginnen te ontvangen voor bepaalde bestanden. Het CDN zoekt dan de optimale route uit, en stuurt de eindgebruiker door naar de server die dit bestand het snelst kan leveren. Dit is meestal, maar niet altijd, de voor de eindgebruiker dichtsbijzijnde server.
Voor de verspreiding van content naar alle servers toe, zijn twee methoden: push en pull. Bij de push-methode draagt de website-eigenaar zelf zorg voor het uploaden van de bestanden naar een centrale server van de CDN-leverancier (bijvoorbeeld via FTP), die ze vervolgens automatisch kopiëert naar de andere servers in het netwerk. De pull-methode houdt in dat het CDN bij een eerste verzoek voor een bepaalde bestandsnaam, het originele bestand ophaalt van de bronserver, doorstuurt naar de eindgebruiker, en dan naar de andere servers kopiëert. Dit eerste verzoek kan daarom nog niet versneld worden afgehandeld, maar alle volgende verzoeken voor datzelfde bestand wel. Dit is met name praktisch als bestanden regelmatig veranderen.
Opgeslagen en verspreide bestanden kunnen met behulp van een purge-verzoek van de servers verwijderd worden, bijvoorbeeld wanneer een bestand gewijzigd is, en de tijd in de caching headers, die aan kunnen geven hoe lang een bestand maximaal opgeslagen mag worden, nog niet verlopen is.
Omdat een CDN veel dataverkeer genereert, kunnen de leveranciers vaak goedkoper inkopen (en verkopen) dan andere partijen, en kan het inzetten van een CDN dus ook kostenverlagend werken. Enkele voorbeelden van Content Delivery Networks zijn Amazon CloudFront, Akamai, Fastly en CDNetworks.