Heb je ooit de contactenapp op je telefoon gebruikt? Stel je dat voor, maar dan voor het internet. DNS is het telefoonboek van het internet dat de URL van een site (zoals cside.com) koppelt aan het numerieke IP-adres van de servers die de site hosten. Zonder DNS zouden we die numerieke IP-adressen voor elke afzonderlijke website moeten onthouden en intypen, een onpraktische klus voor de meeste mensen, aangezien we onze telefoon nu al gebruiken om nummers op te slaan.

Hoe DNS werkt
Wanneer je een website bezoekt, vraagt je browser aan een DNS-resolver om het IP-adres te vinden van het domein dat je wilt bezoeken. Die resolver is meestal de DNS-server van je internetprovider, of een openbare DNS-dienst zoals Cloudflare.
Als het antwoord nog niet in de cache staat, voert de DNS-resolver een recursieve lookup uit, die de volgende topologie doorloopt:
- De DNS-rootserver stuurt de query naar het juiste top-level domein (bijv. .dev)
- De top-level-domeinserver wijst de query naar de autoritatieve servers van het domein
- De autoritatieve server levert het uiteindelijke IP-adres voor het domein en stuurt het terug naar de resolver om te cachen en aan je browser te leveren.
Deze resolutie gebeurt meestal in een paar milliseconden, maar moet klaar zijn voordat een website kan beginnen met laden.
DNS-lookuptijd
DNS-lookuptijd is de tijd tussen het moment dat je systeem een DNS-verzoek verstuurt en het moment dat het antwoord van een lookupserver binnenkomt. Dat duurt meestal een paar milliseconden, maar het telt op bij de laadtijd van je pagina. Typische queries liggen tussen de 20 en 120 milliseconden, en een “optimale” DNS-snelheid wordt gezien als minder dan 50 milliseconden.
Die snelheid is belangrijk omdat bezoekers moeten wachten voordat je website ook maar begint te laden, waardoor de rest van de content vaststaat tot het IP is opgelost. Trage DNS laat je site langzamer aanvoelen, en als de query een time-out krijgt of mislukt, denken gebruikers misschien dat de site plat ligt en haken ze af.
Je moet ook rekening houden met het aantal DNS-lookups dat nodig is om een pagina te laden. Je browser doet maar één query per uniek domein, maar als je site third-party content van veel verschillende sites haalt, moet hij meerdere lookups uitvoeren. Die queries tellen op, dus door het aantal externe domeinen op je site te beperken verklein je deze DNS-overhead en laad je content sneller.
Waarom caching de prestaties helpt
Lookups hoeven dankzij caching niet bij elk bezoek plaats te vinden. DNS-caching bewaart de resultaten van DNS-lookupqueries, zodat herhaalde verzoeken voor hetzelfde domein veel sneller worden opgelost zonder externe servers te benaderen.
Een DNS-record heeft een waarde die TTL heet, oftewel Time to Live, die aangeeft hoe lang het in een cache bewaard moet blijven. Zolang een gecachte entry niet is verlopen of gewijzigd, gebruiken de resolver en je apparaat het opgeslagen IP-adres en slaan ze de volledige lookup over. Dat geeft bij de tweede paginalading vrijwel geen lookupvertraging en beperkt de DNS-gerelateerde wachttijd.