Zum Hauptinhalt springen
Technologie

WebSockets

WebSockets ermöglichen bidirektionale Echtzeit-Kommunikation zwischen Browser und Server über eine persistente Verbindung.

Was ist WebSockets?

WebSockets ist ein Kommunikationsprotokoll, das eine persistente, bidirektionale Verbindung zwischen Client (Browser) und Server ermöglicht. Im Gegensatz zu HTTP (Request-Response: Client fragt, Server antwortet) können bei WebSockets beide Seiten jederzeit Nachrichten senden - ideal für Echtzeit-Anwendungen wie Chat, Live-Notifications, Collaborative Editing oder Multiplayer-Games.

Ausführliche Erklärung

WebSockets ist ein Kommunikationsprotokoll, das eine persistente, bidirektionale Verbindung zwischen Client (Browser) und Server ermöglicht. Im Gegensatz zu HTTP (Request-Response: Client fragt, Server antwortet) können bei WebSockets beide Seiten jederzeit Nachrichten senden - ideal für Echtzeit-Anwendungen wie Chat, Live-Notifications, Collaborative Editing oder Multiplayer-Games.

Die technische Funktionsweise: Eine HTTP-Verbindung wird per "Upgrade"-Header zu WebSocket gewechselt. Danach bleibt die Verbindung offen - kein erneuter Verbindungsaufbau, keine HTTP-Header bei jeder Nachricht. Die Latenz sinkt von 100-300ms (HTTP Polling) auf 10-50ms. Socket.io ist die beliebteste Library, die WebSockets mit Fallbacks für ältere Browser kombiniert.

WebSockets sind ressourcenintensiver als HTTP - jede offene Verbindung belegt Server-Ressourcen. Für viele gleichzeitige Verbindungen (10.000+) braucht es spezialisierte Infrastruktur. Alternativen wie Server-Sent Events (SSE) sind einfacher für One-Way-Updates (Server → Client). WebSockets sind die richtige Wahl wenn echte Bidirektionalität und minimale Latenz kritisch sind.

Das Protokoll (RFC 6455) startet als normale HTTP(S)-Anfrage mit den Headern Upgrade: websocket und Connection: Upgrade; antwortet der Server mit Status 101 Switching Protocols, wechselt die Verbindung auf das WebSocket-Protokoll (Schema ws:// beziehungsweise verschlüsselt wss://). Danach werden Daten in leichtgewichtigen Frames statt vollständiger HTTP-Nachrichten übertragen. Da Verbindungen durch Proxies oder Firewalls stillschweigend gekappt werden können, hält man sie über periodische Ping/Pong-Frames (Heartbeats) am Leben und implementiert client-seitig eine automatische Reconnect-Logik.

Beim Skalieren über mehrere Server-Instanzen entsteht ein typisches Problem: Zwei Nutzer im selben Chat hängen womöglich an unterschiedlichen Servern. Gelöst wird das über einen Pub/Sub-Adapter, meist auf Redis-Basis, der Nachrichten zwischen den Instanzen verteilt. Für rein serverseitig getriebene Aktualisierungen (Kurse, Live-Ticker, Fortschrittsbalken) sind Server-Sent Events (SSE) die einfachere, über HTTP laufende Alternative - sie sind unidirektional, aber leichter zu betreiben. Zu beachten: In klassischen serverlosen Umgebungen mit kurzlebigen Funktionen lassen sich persistente WebSocket-Verbindungen nicht ohne Weiteres halten; hier greift man auf managed Realtime-Dienste wie Supabase Realtime, Pusher oder Ably zurück. WebSockets sind also erste Wahl, wenn echte Zwei-Wege-Kommunikation mit minimaler Latenz gefragt ist - für simple Live-Updates ist SSE oft der pragmatischere Weg.

Vorteile & Nutzen

  • Echtzeit-Kommunikation mit minimaler Latenz (10-50ms)
  • Bidirektional - Server kann aktiv an Client senden
  • Effizienter als HTTP-Polling (weniger Overhead)
  • Ideal für Chat, Live-Updates, Collaboration, Gaming

Verwandte Begriffe

Möchten Sie WebSockets in Ihrem Projekt einsetzen?

Unser Expertenteam berät Sie gerne, welche Technologien und Ansätze für Ihr konkretes Projekt am besten geeignet sind.