Websocket 用戶端API 中的HTTP 標頭
WebSocket API 提供了一種為客戶端添加自訂HTTP 標頭的簡單方法。但是,值得注意的是,只能指定某些標頭。
自訂限制
與信念相反,JavaScript WebSockets API 不允許您指定任意 HTTP 標頭。只能設定路徑和協定字段。路徑在 WebSocket 建構函式的第一個參數中指定,而協定標頭在其可選的第二個參數中指定。
指定協定標頭
var ws = new WebSocket("ws://example.com/path", "protocol");
上面的程式碼產生以下標頭:
Sec-WebSocket-Protocol: protocol
您也可以指定多個協定:
var ws = new WebSocket("ws://example.com/path", ["protocol1", "protocol2"]);
產生以下標頭:
Sec-WebSocket-Protocol: protocol1, protocol2
驗證/授權
透過WebSocket 進行身份驗證的常見方法是使用票務系統。伺服器產生一個票證,用戶端將其包含在 URL、協定欄位或連接後的第一個訊息中。然後,伺服器驗證票證並相應地繼續或拒絕連線。
基本驗證(已棄用)
基本驗證之前已被接受,但已被棄用,並且不適用現代瀏覽器不再支援。
其他註解
值得一提的是,授權標頭可以根據 WebSocket URI 中的使用者名稱和密碼產生(儘管此方法也已棄用)。
了解有關 WebSocket 安全性的更多信息,請參考這篇文章:https://devcenter.heroku.com/articles/websocket-security
以上是如何使用 JavaScript 將自訂 HTTP 標頭新增至我的 WebSocket 用戶端?的詳細內容。更多資訊請關注PHP中文網其他相關文章!