Sec-WebSocket-Version

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 Anforderungsheader und Antwortheader wird im WebSocket-Eröffnungshandshake verwendet, um das vom Client unterstützte WebSocket-Protokoll anzugeben, und die vom Server unterstützten Protokollversionen, wenn 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 des Schreibens ist 13. Der Header wird automatisch zu Anfragen von User Agents hinzugefügt, wenn eine WebSocket-Verbindung hergestellt wird.

Der Server verwendet die Version, um zu bestimmen, ob er das Protokoll verstehen kann. Wenn der Server die Version nicht unterstützt oder irgendein 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 die 400-Antwort einfügen und die Versionen auflisten, die er unterstützt. Die Versionen können in einzelnen Headers angegeben oder als kommagetrennte Werte in einem einzelnen Header festgelegt werden.

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

Header-Typ Antwortheader
Verbotener Headername 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 bei der Kommunikation mit dem Server verwenden möchte. Diese Nummer sollte die neueste mögliche Version sein, die im IANA WebSocket Version Number Registry aufgeführt ist. Die neueste finale 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, wird Sec-WebSocket-Version nicht in der Antwort erscheinen.

Spezifikationen

Specification
The WebSocket Protocol
# section-11.3.5

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch