Zum Inhalt springen

Glossar · W

WebSocket

Bidirektionales Protokoll auf TCP. Erlaubt Servern, jederzeit Daten an den Browser zu pushen, ohne dass dieser pollen muss.

Definition

WebSocket ist ein Netzwerkprotokoll, das eine bidirektionale Kommunikationsverbindung zwischen einem Client, meist einem Webbrowser, und einem Server ermöglicht. Es basiert auf dem TCP-Protokoll und erlaubt den Aufbau einer dauerhaften Verbindung, über die beide Seiten jederzeit Daten senden und empfangen können. Im Gegensatz zu herkömmlichen HTTP-Verbindungen, die meist unidirektional und zustandslos sind, unterstützt WebSocket eine persistente und interaktive Kommunikation.

Das Protokoll wurde entwickelt, um die Einschränkungen von HTTP zu überwinden, insbesondere die Notwendigkeit, dass der Client wiederholt Anfragen senden muss, um neue Daten vom Server zu erhalten. WebSocket ermöglicht es dem Server, Daten aktiv an den Client zu senden, ohne dass dieser ständig nachfragen muss. Dadurch eignet sich das Protokoll besonders für Anwendungen mit Echtzeit-Datenübertragung.

Was bedeutet das für Ihr Unternehmen?

WebSockets machen Live-Funktionen möglich, etwa Chats, Statusanzeigen oder Dashboards, die sich ohne Neuladen aktualisieren. Jede offene Verbindung belastet den Server dauerhaft, deshalb braucht der Betrieb eigene Planung und Überwachung. Wenn sich Daten nur alle paar Minuten ändern, reichen oft einfachere Verfahren, die weniger Infrastruktur benötigen.

Geschichte und Standardisierung

Die Spezifikation von WebSocket wurde erstmals im Jahr 2011 vom Internet Engineering Task Force (IETF) als RFC 6455 veröffentlicht. Die Entwicklung erfolgte im Rahmen der IETF-Arbeitsgruppe „HyBi“ (HyBi steht für „Hypertext-Bidirectional“), die sich mit der Verbesserung von Webkommunikationsprotokollen beschäftigte. Parallel dazu wurde die zugehörige Browser-Schnittstelle (WebSocket API) vom World Wide Web Consortium (W3C) spezifiziert, heute pflegt sie die WHATWG, um eine breite Unterstützung in Webbrowsern sicherzustellen.

Vor der Einführung von WebSocket waren Technologien wie Long Polling oder Comet gebräuchlich, um eine Art Echtzeitkommunikation im Web zu ermöglichen. Diese Ansätze waren jedoch ineffizient und verursachten hohen Overhead. Die Standardisierung von WebSocket führte zu einer einheitlichen und performanten Lösung, die heute von allen modernen Browsern unterstützt wird.

Funktionsweise

Die Kommunikation über WebSocket beginnt mit einem sogenannten Handshake, der über das HTTP-Protokoll initiiert wird. Dabei sendet der Client eine HTTP-Anfrage mit speziellen Headern, um den Verbindungswechsel auf das WebSocket-Protokoll anzufordern. Der Server antwortet mit einer Bestätigung, sofern er WebSocket unterstützt, und danach wird die Verbindung auf das WebSocket-Protokoll umgestellt.

Nach dem erfolgreichen Handshake bleibt die Verbindung offen, sodass sowohl Client als auch Server jederzeit Nachrichten in Form von Frames austauschen können. Diese Frames können Text- oder Binärdaten enthalten. Die persistente Verbindung ermöglicht eine niedrige Latenz und reduziert den Overhead, da keine wiederholten HTTP-Header übertragen werden müssen.

Einsatzgebiete

WebSocket wird vor allem in Anwendungen eingesetzt, die eine Echtzeitkommunikation erfordern. Beispiele sind Online-Spiele, Chat-Anwendungen, Finanzmarktdaten, kollaborative Tools und Benachrichtigungssysteme. Durch die bidirektionale Verbindung können Änderungen sofort an alle beteiligten Clients übertragen werden, was eine hohe Interaktivität ermöglicht.

Auch im Internet der Dinge (IoT) findet WebSocket Anwendung, da Geräte und Sensoren häufig kontinuierliche Datenströme senden oder empfangen müssen. Die Effizienz und Flexibilität des Protokolls machen es zu einer bevorzugten Wahl für Systeme, die auf schnelle und zuverlässige Datenübertragung angewiesen sind.

Abgrenzung zu verwandten Technologien

Im Vergleich zu HTTP ist WebSocket ein eigenständiges Protokoll, das nach dem Verbindungsaufbau unabhängig von HTTP agiert. Während HTTP-Verbindungen meist kurzlebig sind und für jede Anfrage neu aufgebaut werden, ermöglicht WebSocket eine dauerhafte Verbindung ohne wiederholte Handshakes. Dies reduziert die Latenz und den Netzwerkverkehr erheblich.

Alternativen zu WebSocket sind Technologien wie Server-Sent Events (SSE) und Long Polling. SSE ermöglicht eine unidirektionale Kommunikation vom Server zum Client, während WebSocket bidirektional ist. Long Polling simuliert Echtzeitkommunikation durch wiederholte HTTP-Anfragen, ist jedoch weniger effizient. WebSocket bietet daher in vielen Szenarien eine leistungsfähigere Lösung für interaktive Webanwendungen.

Verwandte Begriffe

Passende Leistung

Sie möchten wissen, was das für Ihr Projekt bedeutet? Sprechen Sie uns an.

Zur Leistung: Webapps & Software