Bootcamp backendontwikkeling met FastAPI · Les

De basis van het WebSocket-protocol

Leer het WebSocket-protocol en de voordelen ervan voor bidirectionele, realtime communicatie begrijpen.

Les 1 van 411 stappen

De basis van het WebSocket-protocol is een gratis Bootcamp backendontwikkeling met FastAPI-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Bootcamp backendontwikkeling met FastAPI. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Bootcamp backendontwikkeling met FastAPI bevat in totaal 4 lessen.

Welkom bij WebSockets!

Moderne webtoepassingen hebben vaak directe updates en realtime-interactie nodig. Denk aan livechats, multiplayergames of hulpmiddelen voor gezamenlijk bewerken.

Traditioneel HTTP is hiervoor niet ontworpen. Daar komen WebSockets om de hoek kijken!

In deze les leer je wat WebSockets zijn en waarom ze cruciaal zijn voor het bouwen van dynamische realtimefuncties.

HTTP: verzoek-antwoordcyclus

HTTP (Hypertext Transfer Protocol) werkt volgens een eenvoudig verzoek-antwoordmodel:

  • De client stuurt een verzoek.
  • De server stuurt een antwoord.

Zodra het antwoord is verzonden, wordt de verbinding gesloten. Dit is efficiënt voor het ophalen van statische inhoud, maar niet voor voortdurende, directe gegevensuitwisseling.

Waarom HTTP tekortschiet

Om met HTTP "realtime" updates te krijgen, gebruikten ontwikkelaars vaak:

  • Polling: De client vraagt de server herhaaldelijk om nieuwe gegevens. Dit is inefficiënt en kan een hoge latentie veroorzaken.
  • Long polling: De server houdt de verbinding open totdat nieuwe gegevens beschikbaar zijn of er een time-out optreedt en stuurt dan een antwoord. Dit is beter, maar nog steeds niet echt bidirectioneel of direct.

Beide methoden veroorzaken aanzienlijke overhead en vertraging bij realtimebehoeften.

Kennismaken met het WebSocket-protocol

Het WebSocket-protocol (met ws:// of wss:// voor beveiligde verbindingen) biedt een full-duplexcommunicatiekanaal via één langdurige TCP-verbinding.

Je kunt het zien als een permanente, open telefoonlijn tussen een client en een server, in plaats van voor elk bericht een nieuwe brief te versturen.

De WebSocket-handshake

Een WebSocket-verbinding begint met een standaard-HTTP-verzoek, maar met een belangrijke header:

Upgrade: websocket

Hiermee vertelt de client aan de server dat deze de verbinding wil "upgraden". Als de server akkoord gaat, antwoordt deze met de status 101 Switching Protocols en verandert de verbinding in een WebSocket-verbinding.

Van HTTP naar WebSocket

Dit eerste HTTP-verzoek en -antwoord wordt de handshake genoemd. Zodra deze is geslaagd, blijft de onderliggende TCP-verbinding open en kunnen zowel de client als de server gegevensframes hierover verzenden.

Dat betekent geen HTTP-headers meer voor elk afzonderlijk bericht – alleen de onbewerkte gegevens, waardoor de communicatie zeer efficiënt wordt.

Bidirectioneel en full-duplex

In tegenstelling tot de verzoek-antwoordstroom tussen client en server van HTTP bieden WebSockets bidirectionele (of full-duplex) communicatie. Dit betekent:

  • De client kan op elk moment gegevens naar de server sturen.
  • De server kan op elk moment gegevens naar de client sturen.

Deze tweerichtingscommunicatie is fundamenteel voor echt interactieve realtime-toepassingen.

Voordelen voor realtimegebruik

WebSockets bieden verschillende belangrijke voordelen voor realtime-toepassingen:

  • Lagere latentie: Directe gegevensoverdracht zonder vertraging door polling.
  • Minder overhead: Na de eerste handshake zijn er maar minimale headergegevens nodig.
  • Efficiëntie: Eén permanente verbinding bespaart resources.
  • Echt realtime: Directe updates en interacties.

Praktische toepassingen

WebSockets vormen de basis van veel moderne toepassingen:

  • Chatapps: Directe bezorging van berichten.
  • Livefeeds: Sportuitslagen, beurskoersen en nieuwsberichten.
  • Multiplayergames: Realtime-interactie tussen spelers.
  • Hulpmiddelen voor samenwerking: Gedeelde whiteboards en documentbewerking.
  • IoT-apparaten: Realtime streaming van sensorgegevens.

Test je kennis

Welke van de volgende kenmerken van het WebSocket-protocol zijn waar?

Samenvatting: de basis van WebSockets

Goed gedaan! Je begrijpt de basis van het WebSocket-protocol.

  • We hebben gezien hoe traditioneel HTTP moeite heeft met realtimebehoeften.
  • Je hebt geleerd dat WebSockets een permanent, full-duplexcommunicatiekanaal bieden.
  • Je begrijpt nu het belang van de HTTP-handshake om een verbinding te "upgraden".
  • We hebben de voordelen verkend voor toepassingen met lage latentie die efficiënt en echt realtime zijn.

Vervolgens gaan we WebSockets met FastAPI implementeren!

Gratis beginnen

Leer Bootcamp backendontwikkeling met FastAPI 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
21
Lessen
84

Veelgestelde vragen

Is de les “De basis van het WebSocket-protocol” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Bootcamp backendontwikkeling met FastAPI, waaronder “De basis van het WebSocket-protocol”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Bootcamp backendontwikkeling met FastAPI bevat in totaal 4 lessen.

Wat leer ik in “De basis van het WebSocket-protocol”?

Leer het WebSocket-protocol en de voordelen ervan voor bidirectionele, realtime communicatie begrijpen. Je oefent met Bootcamp backendontwikkeling met FastAPI 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 Bootcamp backendontwikkeling met FastAPI te beginnen?

Ervaring vooraf is niet nodig. Bootcamp backendontwikkeling met FastAPI 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 “De basis van het WebSocket-protocol”?

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 Bootcamp backendontwikkeling met FastAPI?

Ja. Elke les over Bootcamp backendontwikkeling met FastAPI 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

  1. De basis van het WebSocket-protocol
  2. WebSockets implementeren in FastAPI
  3. Een realtime chatapplicatie bouwen
  4. WebSockets schalen met een pub/sub-backplane
← Terug naar Bootcamp backendontwikkeling met FastAPI