WebSocket

WebSocket is een communicatieprotocol dat een permanente, bidirectionele verbinding biedt tussen client en server over één TCP-verbinding. In tegenstelling tot HTTP — waarbij de client steeds een nieuw verzoek stuurt — kunnen bij WebSocket zowel client als server op elk moment data sturen.

HTTP vs. WebSocket

HTTPWebSocket
RichtingClient stuurt, server antwoordtBeide kanten kunnen sturen
VerbindingNieuw per verzoekPersistent
OverheadHoog (headers elke keer)Laag na handshake
GebruikWebpagina's, API'sChat, live updates, gaming

Verbinding opzetten

Een WebSocket-verbinding begint als een normale HTTP-verbinding en wordt daarna geüpgraded:

GET /chat HTTP/1.1
Upgrade: websocket
Connection: Upgrade

Gebruik

  • Chat-applicaties — berichten in realtime versturen
  • Live dashboards — metrics en logs live bijwerken
  • Online gaming — lage latency communicatie
  • Collaboratieve tools — gelijktijdig bewerken

Zie ook

  • http — het protocol waarop WebSocket is gebaseerd
  • tls — beveiligde WebSocket heet WSS (WebSocket Secure)
  • latency — WebSocket vermindert latency t.o.v. polling
  • rest — alternatief voor request-response patronen
netwerkict