Sec-WebSocket-Accept
Der HTTP-Antwortheader Sec-WebSocket-Accept wird im Eröffnungs-Handshake von WebSocket verwendet, um anzuzeigen, dass der Server bereit ist, zu einer WebSocket-Verbindung aufzurüsten.
Dieser Header darf höchstens einmal in der Antwort erscheinen und hat einen Direktivenwert, der aus dem im entsprechenden Antrag gesendeten Sec-WebSocket-Key
Anfrageheader berechnet wird.
Header-Typ | Antwortheader |
---|---|
Verbotener Header-Name | ja |
Syntax
Sec-WebSocket-Accept: <hashed key>
Direktiven
- <hashed key>
-
Falls ein
Sec-WebSocket-Key
Header bereitgestellt wurde, wird der Wert dieses Headers berechnet, indem der Wert des Schlüssels genommen, die Zeichenkette258EAFA5-E914-47DA-95CA-C5AB0DC85B11
angefügt und der SHA-1 Hash dieser zusammengefügten Zeichenkette genommen wird — was zu einem 20-Byte-Wert führt. Dieser Wert wird dann base64-kodiert, um den Wert dieser Eigenschaft zu erhalten.
Beispiele
Der Client startet 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 Upgrade
enthält, der die Absicht signalisiert, auf einen WebSocket aufzurüsten. Er enthält auch Sec-WebSocket-Key
, welcher in die Berechnung von Sec-WebSocket-Accept
einbezogen wird, um die Absicht zu bestätigen, die Verbindung auf einen WebSocket aufzurüsten.
GET /chat HTTP/1.1
Host: example.com:8000
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
Die Antwort vom Server sollte den Sec-WebSocket-Accept
Header enthalten, dessen Wert aus dem Sec-WebSocket-Key
Header in der Anfrage berechnet wird, und die Absicht bestätigt, die Verbindung auf einen WebSocket aufzurüsten:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
Spezifikationen
Specification |
---|
Unknown specification # section-11.3.3 |
Browser-Kompatibilität
BCD tables only load in the browser