WebSocket

WebSocket ist ein auf TCP basierendes Netzwerkprotokoll. Im Gegensatz zum zustandslosen HTTP-Protokoll ermöglicht WebSocket eine dauerhafte bidirektionale Verbindung zwischen Server und Client.

WebSocket 1:

Eine WebSocket-Verbindung entsteht aus einem WebSocket-Handshake. In diesem WebSocket-Handshake wird zunächst ein HTTP GET-Request an den Server gesendet, der Informationen über ein Update dieser Verbindung enthält. Wenn der Server WebSocket-Verbindungen unterstützt und die Anfrage akzeptiert, wird eine HTTP-Response mit dem Statuscode 101 Switching Protocols zurück an den Client geschickt. Nach Abschluss des Handshakes wird von HTTP zu WebSocket gewechselt.

Bei hergestellter Verbindung kann im Gegensatz zum HTTP-Protokoll sowohl der Client als auch der Server ohne vorherige Anfrage Daten an den jeweils anderen schicken. Beide Kommunikationsteilnehmer können die Verbindung auch wieder beenden.

Anwendung findet das WebSocket-Protokoll beispielsweise in Chat-Anwendungen, Online-Spielen oder Sport-Livetickern. Im Beispiel des Sport-Livetickers kann der Server dem verbundenen Client Updates mitteilen, ohne dass der Client dafür wie bei HTTP immer eine Anfrage schicken muss.