Netwerken
Zowat alles wat je als ontwikkelaar bouwt, praat met iets anders. Een webpagina haalt data op bij een API, een app logt in bij een authenticatieserver, je code belandt via git push op GitHub, je container haalt een image op bij een registry. Al dat verkeer verloopt volgens dezelfde principes, en zolang die principes een zwarte doos blijven, blijven de foutmeldingen dat ook.
Een netwerk is niets anders dan twee of meer toestellen die afspraken maken om gegevens uit te wisselen. Twee laptops via een kabel vormen al een netwerk. Het internet is datzelfde idee, maar dan miljarden toestellen groot.
Waarom dit hoofdstuk?
Netwerkkennis is voor een programmeur geen theoretische luxe. Ze betaalt zich elke week terug:
- Fouten sneller begrijpen –
ERR_CONNECTION_REFUSED,404,CORS policy blocked: elk van die meldingen wijst naar een precieze plek in de keten. Als je de keten kent, weet je meteen waar je moet zoeken. - Je eigen omgeving beheersen – waarom draait je dev server op
localhost:5173, en waarom kan je collega die pagina niet openen? - Zinvol praten met anderen – met systeembeheerders, met een hostingpartij, met een collega die zegt dat "de DNS nog niet doorgekomen is".
- Veiligheid inschatten – wat betekent het slotje in de adresbalk precies, en wat betekent het niet?
Wat leer je in dit hoofdstuk?
| Sectie | Wat je leert |
|---|---|
| Internet en web | Wat het internet is, wat het web is, en waarom dat niet hetzelfde is |
| Client, server & protocol | Wie het initiatief neemt, wie wacht, en welke afspraken hun gesprek regelen |
| Het OSI-model | De reis van een URL, laag per laag, van adresbalk tot pagina in beeld |
| Netwerkverkeer bekijken | Requests en responses zelf zien in DevTools en Wireshark |
| IP-adressering | IP-adressen, publiek versus privaat, NAT en localhost |
| DNS | Hoe een domeinnaam een adres wordt, en welke records daarbij horen |
| Poorten | Waarom je dev server op :5173 draait en hoe je ziet wat er luistert |
| TCP/IP | De protocolstack van het internet, en de keuze tussen TCP en UDP |
| HTTPS & TLS | Wat het slotje in je adresbalk betekent, en wat het niet betekent |
| HTTP als protocol | Requests, responses, methoden, statuscodes, headers, JSON/REST en CORS |
Elke pagina hier beschrijft iets dat je op je eigen toestel kan zien gebeuren. Druk F12, ga naar het tabblad Network en ververs deze pagina. Alles wat je in dit hoofdstuk leest, staat daar in een lijst.