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

Der Header kann nur einmal in einem Request erscheinen und spezifiziert die WebSocket-Version, die die Webanwendung verwendet. Die aktuelle Version des Protokolls zum Zeitpunkt der Erstellung ist 13. Der Header wird automatisch zu Requests von Benutzeragenten 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 wenn ein beliebiger Header im Handshake nicht verstanden wird oder einen falschen Wert hat, 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 aufnehmen, wobei die unterstützten Versionen aufgelistet werden. Die Versionen können entweder in einzelnen Headerspezifikationen oder als durch Kommas getrennte 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 Response Header
Verbotener Request-Header Ja (Sec--Präfix)

Syntax

Request

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 Nummer sollte die aktuellste mögliche Version sein, die im IANA WebSocket Version Number Registry angegeben ist. Die aktuellste endgültige Version des WebSocket-Protokolls ist Version 13.

<server-supported-versions>

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

Beispiele

WebSocket-Eröffnungshandshake

Die vom Client unterstützte Version wird im ursprünglichen WebSocket-Handshake-Request spezifiziert. 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