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 的瀏覽器中載入。