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üsseltwss://, 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.