Browsers, DNS en HTTP: de levenscyclus van een request
Volg een URL vanaf de adresbalk via DNS-resolutie, TCP-verbinding, HTTP-request en serverrespons terug naar de browser.
Browsers, DNS en HTTP: de levenscyclus van een request is een gratis Frontend Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Frontend Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Frontend Academy bevat in totaal 4 lessen.
Wat gebeurt er wanneer je een URL typt?
Elke keer dat je een website bezoekt, start je browser een nauwkeurige reeks stappen. Als je deze reeks begrijpt, word je een betere ontwikkelaar: je weet waar het mis kan gaan en hoe je de stappen kunt versnellen.
Stap 1 — DNS-resolutie
DNS (Domain Name System) is het telefoonboek van internet. Je browser vraagt een DNS-resolver: "Welk IP-adres hoort bij example.com?". De resolver controleert caches en raadpleegt zo nodig gezaghebbende naamservers.
# DNS lookup chain
# Browser cache → OS cache → Router cache → ISP resolver → Root NS → TLD NS → Authoritative NSStap 2 — TCP-handshake
Zodra het IP-adres bekend is, opent de browser een TCP-verbinding via de drieweg-handshake: SYN → SYN-ACK → ACK. Bij HTTPS volgt daarna een TLS-handshake waarbij de versleuteling wordt afgesproken.
Stap 3 — Het HTTP-verzoek
De browser verstuurt een HTTP-verzoek via de TCP-verbinding. Het verzoek bevat een methode (GET, POST…), het pad (/index.html), de HTTP-versie en headers zoals Host en Accept.
GET /index.html HTTP/1.1
Host: example.com
Accept: text/html
User-Agent: Mozilla/5.0Stap 4 — Het HTTP-antwoord
De server verwerkt het verzoek en stuurt een antwoord terug: een statuscode (200 OK, 404 Not Found…), antwoordheaders (Content-Type, Cache-Control) en de inhoud (HTML, JSON, afbeeldingsbytes).
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 1234
<!DOCTYPE html>...HTTP/1.1 versus HTTP/2 versus HTTP/3
HTTP/1.1 verstuurt één verzoek per verbinding. HTTP/2 multiplexeert veel verzoeken over één verbinding. HTTP/3 gebruikt QUIC (op UDP gebaseerd) voor een lagere latentie, vooral op mobiele netwerken met pakketverlies.
Statuscodes die je moet kennen
2xx = succes (200 OK, 201 Created). 3xx = omleiding (301 Moved Permanently, 304 Not Modified). 4xx = clientfout (400, 401, 403, 404). 5xx = serverfout (500, 502, 503).
HTTPS en TLS
HTTPS verpakt HTTP in TLS (Transport Layer Security). TLS biedt: versleuteling zodat verkeer niet kan worden gelezen, authenticatie via certificaten (je communiceert echt met example.com) en integriteit zodat er niet met gegevens is geknoeid.
Caching: herhaalbezoeken versnellen
Antwoorden kunnen Cache-Control: max-age=86400 bevatten, zodat de browser de gecachete kopie een dag lang opnieuw gebruikt. Met de headers ETag en Last-Modified kan de browser controleren of de gecachete versie nog actueel is.
Cache-Control: max-age=86400, immutable
ETag: "abc123"
Last-Modified: Wed, 01 Jan 2025 00:00:00 GMTCookies en sessies
Servers stellen cookies in met de header Set-Cookie. De browser stuurt ze automatisch mee met elk verzoek aan hetzelfde domein. Sessies bestaan meestal uit een cookie met een sessie-ID die de server koppelt aan gebruikersgegevens.
CDN — netwerken voor inhoudsdistributie
Een CDN bewaart kopieën van je bestanden in datacenters over de hele wereld. Gebruikers downloaden bestanden vanaf het dichtstbijzijnde knooppunt, waardoor de latentie afneemt. Cloudflare, Fastly en AWS CloudFront zijn populaire CDN's die door de meeste grote websites worden gebruikt.
Korte controle
Welke HTTP-methode gebruik je om een webpagina op te vragen bij een server?
Samenvatting: de volledige levenscyclus van een verzoek
URL ingevoerd → DNS vertaalt domein naar IP → TCP- (+ TLS-)verbinding tot stand gebracht → browser verstuurt HTTP-verzoek → server antwoordt met status + headers + inhoud → browser geeft het antwoord weer. Elke stap is zichtbaar in het netwerkpaneel van DevTools.
Leer HTML met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 41
- Lessen
- 163
Veelgestelde vragen
Is de les “Browsers, DNS en HTTP: de levenscyclus van een request” gratis?
Ja — de volledige tekst van “Browsers, DNS en HTTP: de levenscyclus van een request” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Frontend Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Frontend Academy bevat in totaal 4 lessen.
Wat leer ik in “Browsers, DNS en HTTP: de levenscyclus van een request”?
Volg een URL vanaf de adresbalk via DNS-resolutie, TCP-verbinding, HTTP-request en serverrespons terug naar de browser. Je oefent met Frontend Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Frontend Academy te beginnen?
Ervaring vooraf is niet nodig. Frontend Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Browsers, DNS en HTTP: de levenscyclus van een request”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Frontend Academy?
Ja. Elke les over Frontend Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Browsers, DNS en HTTP: de levenscyclus van een request
- HTML, CSS en JavaScript: de taak van elke laag
- Hoe een pagina wordt gerenderd: parsing, DOM, CSSOM, layout en paint
- Developer Tools: DevTools openen en gebruiken