Sec-WebSocket-Version header

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Der HTTP Sec-WebSocket-Version Anforderungs- und Antwortheader wird im WebSocket Eröffnungs-Handschlag verwendet, um das WebSocket-Protokoll anzugeben, das vom Client unterstützt wird, sowie die vom Server unterstützten Protokollversionen, wenn er die im Request angegebene Version nicht unterstützt.

Der Header kann nur einmal in einer Anfrage erscheinen und gibt die WebSocket-Version an, die von der Webanwendung verwendet wird. Die aktuelle Version des Protokolls zum Zeitpunkt der Erstellung dieses Dokuments ist 13. Der Header wird automatisch von Benutzeragenten zu Anfragen hinzugefügt, wenn eine WebSocket-Verbindung hergestellt wird.

Der Server verwendet die Version, um zu bestimmen, ob er das Protokoll verstehen kann. Unterstützt der Server die Version nicht oder wird ein Header im Handschlag nicht verstanden oder weist einen falschen Wert auf, sollte der Server eine Antwort mit dem Status 400 Bad Request senden und die Verbindung sofort schließen. Er sollte auch Sec-WebSocket-Version in die 400-Antwort einfügen und die Versionen auflisten, die er unterstützt. Die Versionen können in einzelnen Headern oder als kommagetrennte Werte in einem einzigen Header angegeben werden.

Der Header sollte nicht in Antworten gesendet werden, wenn der Server die vom Client angegebene Version versteht.

Header-Typ Antwortheader
Verbotene Anforderungsheader Ja (Sec- Präfix)

Syntax

Anfrage

http
Sec-WebSocket-Version: <version>

Antwort (nur bei Fehler):

http
Sec-WebSocket-Version: <server-supported-versions>

Direktiven

<version>

Die WebSocket-Protokollversion, die der Client beim Kommunizieren mit dem Server verwenden möchte. Diese Zahl sollte die aktuellste mögliche Version sein, die im IANA WebSocket Version Number Registry aufgeführt ist. Die aktuellste finale Version des WebSocket-Protokolls ist Version 13.

<server-supported-versions>

Bei einem Fehler eine durch Kommas getrennte Liste der vom Server unterstützten WebSocket-Protokollversionen. Der Header wird in Antworten nicht gesendet, wenn <version> unterstützt wird.

Beispiele

WebSocket-Eröffnungs-Handschlag

Die vom Client unterstützte Version wird in der ursprünglichen WebSocket Handshake-Anfrage angegeben. Für das aktuelle Protokoll ist die Version "13", wie unten gezeigt.

http
GET /chat HTTP/1.1
Host: example.com:8000
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13

Unterstützt der Server die Version 13 des Protokolls, erscheint Sec-WebSocket-Version nicht in der Antwort.

Spezifikationen

Specification
The WebSocket Protocol
# section-11.3.5

Browser-Kompatibilität

Siehe auch