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 Antwort-Header wird im WebSocket Eröffnungs-Handshake verwendet, um das vom Client unterstützte WebSocket-Protokoll sowie die vom Server unterstützten Protokollversionen zu kennzeichnen, falls er die im Request angegebene Version nicht unterstützt.

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

Der Server verwendet die Version, um festzustellen, ob er das Protokoll verstehen kann. Wenn der Server die Version nicht unterstützt oder ein Header im Handshake nicht verstanden wird oder einen falschen Wert hat, sollte der Server eine Antwort mit dem Status 400 Bad Request senden und den Socket sofort schließen. Er sollte auch Sec-WebSocket-Version in der 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 in Antworten nicht gesendet werden, wenn der Server die vom Client angegebene Version versteht.

Header-Typ Antwort-Header
Verbotener Anfrage-Header Ja (Sec--Präfix)

Syntax

Anforderung

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 neueste endgültige Version des WebSocket-Protokolls ist Version 13.

<server-supported-versions>

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

Beispiele

WebSocket-Eröffnungshandshake

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

Wenn der Server Version 13 des Protokolls unterstützt, dann wird Sec-WebSocket-Version nicht in der Antwort erscheinen.

Spezifikationen

Specification
The WebSocket Protocol
# section-11.3.5

Browser-Kompatibilität

Siehe auch