Een CDN, oftewel Content Delivery Network, is een wereldwijd netwerk van servers dat kopieën van je websitebestanden bewaart en elke bezoeker bedient vanaf de server die het dichtst bij hem staat. In plaats van dat elk verzoek helemaal naar één originele server reist, krijgt een bezoeker in Amsterdam je afbeeldingen van een nabije locatie, terwijl een bezoeker in Sydney ze van de zijne krijgt. Minder afstand betekent minder wachten.

De klassieke vergelijking is een keten van lokale magazijnen. Als een winkel elk product zou bestellen bij één fabriek aan de andere kant van het land, zou bezorging traag zijn. Door dezelfde goederen in regionale magazijnen te leggen, verzendt het dichtstbijzijnde magazijn naar elke klant. Een CDN doet dit met bestanden: stylesheets, scripts, fonts en vooral zware assets zoals afbeeldingen en video. Die nabijheid is een van de betrouwbaarste manieren om de laadtijd voor een wereldwijd publiek te verlagen, en in combinatie met goede image optimization versterkt het effect zich.

Een CDN voegt ook robuustheid toe. Als één server problemen heeft, blijven de andere serveren, en veel CDN’s vangen verkeerspieken en simpele aanvallen op die een enkele server zouden overspoelen. Aanbieders zoals Cloudflare en Fastly draaien deze netwerken, zodat jij dat niet hoeft. Er is ook een caching-detail dat je moet weten. Zodra een bestand naar die edge-locaties is gekopieerd, blijft het daar een ingestelde tijd staan, dus als je een afbeelding of stylesheet wijzigt, kan de oude versie blijven hangen tot de cache verloopt of je hem leegt. Daarom zweert een ontwerper soms dat een wijziging live staat terwijl een bezoeker nog de vorige versie ziet. Bouw versienummers in je bestandsnamen en die verwarring is weg.

Bij TopDevs zetten we een CDN voor de sites die we opleveren, zodat een bezoeker in een ander land pagina’s net zo snel ziet laden als iemand die naast de server woont.