Ga naar hoofdinhoud

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?​

SectieWat je leert
Internet en webWat het internet is, wat het web is, en waarom dat niet hetzelfde is
Client, server & protocolWie het initiatief neemt, wie wacht, en welke afspraken hun gesprek regelen
Het OSI-modelDe reis van een URL, laag per laag, van adresbalk tot pagina in beeld
Netwerkverkeer bekijkenRequests en responses zelf zien in DevTools en Wireshark
IP-adresseringIP-adressen, publiek versus privaat, NAT en localhost
DNSHoe een domeinnaam een adres wordt, en welke records daarbij horen
PoortenWaarom je dev server op :5173 draait en hoe je ziet wat er luistert
TCP/IPDe protocolstack van het internet, en de keuze tussen TCP en UDP
HTTPS & TLSWat het slotje in je adresbalk betekent, en wat het niet betekent
HTTP als protocolRequests, responses, methoden, statuscodes, headers, JSON/REST en CORS
Lees dit hoofdstuk met je DevTools open

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.