EMZETT.
Login

WebSockets

Kurz: WebSockets sind eine dauerhafte, bidirektionale Verbindung zwischen Browser und Server, über die beide Seiten jederzeit Nachrichten schicken können.

Genauer: Normales HTTP funktioniert nach dem Muster Frage und Antwort: Der Browser fragt, der Server antwortet, dann ist Schluss. Für Chats, Live-Spiele, Börsenkurse oder gemeinsames Bearbeiten ist das zu träge. Ein WebSocket bleibt offen, und der Server kann von sich aus senden („Push“).

Im Detail

  • Aufbau: Der Browser startet mit einer normalen HTTP-Anfrage und bittet um ein „Upgrade“. Danach läuft die Verbindung als WebSocket weiter (Adresse ws:// oder verschlüsselt wss://, siehe TLS).
  • Vorteile: sehr geringe Latenz, wenig Overhead pro Nachricht, Echtzeit in beide Richtungen.
  • Nachteile: Die offene Verbindung belegt Ressourcen auf dem Server (Skalierung ist anspruchsvoller). Bei Abbruch muss der Client sich neu verbinden.
  • Alternativen: Polling (ständig neu fragen), Server-Sent Events (nur Server → Client) und Dienste, die WebSockets kapseln.
  • Sicherheit: Herkunft (Origin) prüfen, Nutzer anmelden, Nachrichten wie jede Eingabe prüfen, wss:// benutzen.

Siehe auch: Port, API, Sockets