Sec-WebSocket-Accept header
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Der HTTP Sec-WebSocket-Accept Antwort-Header wird im WebSocket Eröffnungs-Handshake verwendet, um anzuzeigen, dass der Server bereit ist, auf eine WebSocket-Verbindung aufzurüsten.
Dieser Header darf nicht mehr als einmal in der Antwort erscheinen und hat einen Richtwert, der aus dem Sec-WebSocket-Key Request-Header berechnet wird, der in der entsprechenden Anfrage gesendet wird.
| Header-Typ | Antwort-Header |
|---|
Syntax
Sec-WebSocket-Accept: <hashed key>
Direktiven
<hashed key>-
Wenn ein
Sec-WebSocket-KeyHeader bereitgestellt wurde, wird der Wert dieses Headers berechnet, indem der Wert des Schlüssels genommen, die Zeichenkette258EAFA5-E914-47DA-95CA-C5AB0DC85B11angehängt und der SHA-1 Hash dieser zusammengefügten Zeichenkette erstellt wird — was zu einem Wert von 20 Byte führt. Dieser Wert wird dann base64 codiert, um den Wert dieser Eigenschaft zu erhalten.
Beispiele
WebSocket-Eröffnungs-Handshake
Der Client initiiert einen WebSocket-Handshake mit einer Anfrage wie der folgenden.
Beachten Sie, dass dies als HTTP-GET-Anfrage (HTTP/1.1 oder später) beginnt und den Upgrade Header enthält, der die Absicht anzeigt, zu einer WebSocket-Verbindung aufzurüsten.
Es enthält auch Sec-WebSocket-Key, das in die Berechnung von Sec-WebSocket-Accept einbezogen wird, um die Absicht, die Verbindung zu einer WebSocket-Verbindung aufzurüsten, zu bestätigen.
GET /chat HTTP/1.1
Host: example.com:8000
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
Die Antwort des Servers sollte den Sec-WebSocket-Accept Header mit einem Wert enthalten, der aus dem Sec-WebSocket-Key Header in der Anfrage berechnet wurde und die Absicht bestätigt, die Verbindung auf eine WebSocket-Verbindung aufzurüsten:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
Spezifikationen
| Specification |
|---|
| The WebSocket Protocol # section-11.3.3 |