Ein WebSocket ist ein Kommunikationsprotokoll, das Vollduplex-Kommunikationskanäle über eine einzige TCP-Verbindung bereitstellt. Es ist darauf ausgelegt, bidirektionale Interaktionen zwischen einem Client und einem Server in Echtzeit zu ermöglichen. WebSockets beginnen mit einem ersten Handshake über HTTP. Anschließend wird die Verbindung auf WebSocket aktualisiert, was eine kontinuierliche Kommunikation ermöglicht, ohne dass wiederholt neue Verbindungen geöffnet werden müssen.
Wie funktionieren WebSockets?
WebSockets funktionieren, indem sie eine dauerhafte Verbindung zwischen Client und Server herstellen. Der Prozess beginnt mit einer HTTP-Anfrage vom Client an den Server, um eine WebSocket-Verbindung herzustellen. Wenn der Server WebSockets unterstützt, antwortet er mit einer Akzeptanznachricht und die Verbindung wird von HTTP auf WebSocket aktualisiert. Einmal hergestellt, ermöglicht die WebSocket-Verbindung eine bidirektionale Kommunikation, was bedeutet, dass sowohl der Client als auch der Server jederzeit Nachrichten senden und empfangen können, ohne die Verbindung erneut herstellen zu müssen.
Ein WebSocket ist ein Protokoll für die Vollduplex-Kommunikation über eine einzelne TCP-Verbindung. Um WebSockets zu verwenden, initiiert ein Client (normalerweise ein Webbrowser) mithilfe einer HTTP-Upgrade-Anfrage eine Verbindung zu einem WebSocket-Server. Wenn der Server die Anfrage akzeptiert, wechselt das Protokoll von HTTP zu WebSocket, sodass die beiden Parteien Nachrichten in Echtzeit austauschen können. WebSockets werden häufig in Anwendungen verwendet, die Live-Updates erfordern, z. B. Chat-Anwendungen, Live-Benachrichtigungen und Online-Spiele.
Eine WebSocket-Verbindung wird durch einen Prozess hergestellt, der mit einer HTTP-Anfrage vom Client an den Server beginnt. Diese Anfrage enthält einen Upgrade-Header, der angibt, dass der Client eine WebSocket-Verbindung herstellen möchte. Wenn der Server WebSockets unterstützt, antwortet er mit einem Statuscode, der das Upgrade bestätigt. Sobald dieser Handshake abgeschlossen ist, wird die Verbindung von HTTP auf WebSocket umgestellt, was eine Vollduplex-Kommunikation ermöglicht.
Unter der Haube funktionieren WebSockets, indem sie eine TCP-Verbindung nutzen, die für die Dauer der Kommunikationssitzung offen bleibt. Nach dem ersten HTTP-Handshake unterhalten WebSockets eine einzige, langlebige TCP-Verbindung. Diese Verbindung ermöglicht einen effizienten Datenaustausch zwischen Client und Server mit minimalem Overhead. Nachrichten werden als WebSocket-Frames gesendet, die Metadaten und Nutzdaten enthalten und so eine Echtzeitkommunikation mit geringer Latenz ermöglichen.