Anwendungen mit geringer Latenz erfordern in der Regel eine schnellere Kommunikationsmethode als HTTP. Beispiele hierfür sind Multiplayer-Online-Gaming- oder Chat-Anwendungen, bei denen interaktive Echtzeitkommunikation erforderlich ist, um das richtige Nutzererlebnis zu bieten. WebSockets ist ein Echtzeit-Kommunikationsprotokoll, das eine offene, kontinuierliche bidirektionale Verbindung zwischen einem Client und einem Server ermöglicht. Dadurch können Daten an einen Client (d. h. einen Browser) gesendet werden, ohne dass der Client sie anfordern muss. Mit dem HTTP-Protokoll antwortet der Server nur, wenn der Client eine Anforderung sendet.
Finanzinstitute sind ein weiterer Anwendungsfall für WebSockets. Vor kurzem haben wir mit einer großen nordamerikanischen Bank zusammengearbeitet, die das WebSocket-Protokoll verwendet hat, um eine offene Verbindung für ihren Ursprungsserver herzustellen, damit bei jedem Handel Echtzeitbenachrichtigungen gesendet werden können, ohne dass der Kunde nach ihnen abfragt.
Wie funktioniert das WebSocket-Protokoll?
WebSocket-Verbindungen beginnen als reguläre HTTP-Verbindungen. Um eine WebSocket-Verbindung herzustellen, führen der Client und der Server während des anfänglichen Handshakes ein Upgrade vom HTTP-Protokoll auf das WebSocket-Protokoll durch (dieser Protokollwechsel wird als WebSocket-Handshake bezeichnet). Um dieses Upgrade zu initiieren, sendet der Client eine Anforderung an den Server mit den folgenden Header:
-
Verbindung: Upgrade – zeigt an, dass der Client das Protokoll ändern möchte
-
Upgrade: WebSocket – gibt an, dass das angeforderte Protokoll „WebSocket“ ist
Wenn der Server das WebSocket-Protokoll versteht und dem Switch zustimmt, sendet er einen speziellen Antwortcode: 101 (Switching-Protokolle) mit den gleichen beiden Headern zurück. An diesem Punkt wird die HTTP-Verbindung durch die WebSocket-Verbindung über dieselbe zugrunde liegende TCP/IP-Verbindung ersetzt. Nach der Einrichtung können WebSocket-Datenframes zwischen dem Client und dem Server im Vollduplex-Modus hin- und hergesendet werden, bis eine Seite die Verbindung beendet.
Zu den wichtigsten Vorteilen von WebSockets gegenüber HTTP gehören:
-
Persistente Verbindung: Der Client muss nicht häufig Verbindungen neu initiieren, die auf neue Daten prüfen.
-
Geringere Latenz: WebSockets verbrauchen minimalen Overhead. Da eine kontinuierliche Verbindung besteht, muss der normale Overhead, der mit HTTP-Anforderungen wie Headern und anderen Informationen verbunden ist, nicht mehr gesendet werden, was die Latenz verringert.
-
Vollduplex-Kommunikation: WebSockets bieten bidirektionale Kommunikation zwischen Server und Client, sodass beide Parteien gleichzeitig kommunizieren und Daten austauschen können. Edgecast, jetzt Edgio, freut sich, Ihnen Unterstützung für das WebSocket-Protokoll in unserem weltweiten Bereitstellungsnetzwerk anbieten zu können. Im Zeitalter von IoT und Edge Computing wird das WebSocket-Protokoll Unternehmen zugute kommen, die Anwendungen mit geringer Latenz an der Peripherie anbieten möchten.