Sec-WebSocket-Accept

Sec-WebSocket-Accept HTTP 響應頭 用於 WebSocket 的開啟 握手 過程中,表示伺服器願意升級到 WebSocket 連線。

此頭部在響應中最多隻能出現一次,並且具有一個指令值,該值根據相應的請求中傳送的 Sec-WebSocket-Key 請求頭計算得出。

頭部型別 響應頭
禁止的頭部名稱

語法

http
Sec-WebSocket-Accept: <hashed key>

指令

<雜湊後的金鑰>

如果提供了 Sec-WebSocket-Key 頭部,則此頭部的值透過獲取金鑰的值,連線字串 258EAFA5-E914-47DA-95CA-C5AB0DC85B11,並獲取該連線字串的 SHA-1 雜湊值(生成一個 20 位元組的值)來計算。然後,將該值進行 Base64 編碼以獲得此屬性的值。

示例

客戶端將使用如下所示的請求發起 WebSocket 握手。請注意,這從 HTTP GET 請求(HTTP/1.1 或更高版本)開始,並且包含指示升級到 Web Socket 的意圖的 Upgrade 頭部。它還包含 Sec-WebSocket-Key,該金鑰用於計算 Sec-WebSocket-Accept 以確認將連線升級到 Web Socket 的意圖。

http
GET /chat HTTP/1.1
Host: example.com:8000
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13

伺服器的響應應包含 Sec-WebSocket-Accept 頭部,其值根據請求中的 Sec-WebSocket-Key 頭部計算得出,並確認將連線升級到 Web Socket 的意圖。

http
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

規範

規範
未知規範
# 第 11.3.3 節

瀏覽器相容性

BCD 表格僅在啟用 JavaScript 的瀏覽器中載入。

另請參閱