Sec-WebSocket-Version 頭
HTTP Sec-WebSocket-Version 請求和響應頭用於 WebSocket 開啟握手中,以表明客戶端支援的 WebSocket 協議版本,以及如果伺服器不支援請求中指定的版本,則表明伺服器支援的協議版本。
此頭在請求中只能出現一次,並指定 Web 應用程式正在使用的 WebSocket 版本。在撰寫本文時,協議的當前版本是 13。當建立 WebSocket 連線時,使用者代理會自動將此頭新增到請求中。
伺服器使用此版本來確定它是否能夠理解協議。如果伺服器不支援該版本,或者握手中的任何頭不被理解或具有不正確的值,伺服器應傳送狀態為 400 Bad Request 的響應,並立即關閉套接字。它還應在 400 響應中包含 Sec-WebSocket-Version,列出它所支援的版本。版本可以在單獨的頭中指定,也可以作為逗號分隔的值在單個頭中指定。
如果伺服器理解客戶端指定的版本,則不應在響應中傳送此頭。
語法
Request
http
Sec-WebSocket-Version: <version>
響應(僅在錯誤時)
http
Sec-WebSocket-Version: <server-supported-versions>
指令
<版本>-
客戶端在與伺服器通訊時希望使用的 WebSocket 協議版本。此數字應是 IANA WebSocket 版本號登錄檔中列出的最新版本。WebSocket 協議的最新最終版本是版本 13。
<伺服器支援的版本>-
出現錯誤時,伺服器支援的 WebSocket 協議版本列表,用逗號分隔。如果支援
<版本>,則不傳送此頭。
示例
WebSocket 開啟握手
客戶端支援的版本在原始 WebSocket 握手請求中指定。對於當前協議,版本是“13”,如下所示。
http
GET /chat HTTP/1.1
Host: example.com:8000
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
如果伺服器支援協議版本 13,則 Sec-WebSocket-Version 不會出現在響應中。
規範
| 規範 |
|---|
| WebSocket 協議 # section-11.3.5 |
瀏覽器相容性
載入中…