關於 WebSocket ,維基百科是這樣介紹的:
WebSocket 協議在2008年誕生,2011年成為國際標準,現在幾乎所有瀏覽器都已經支持了。它的最大特點就是,服務器可以主動向客戶端推送信息,客戶端也可以主動向服務器發送信息,是真正的雙向平等對話,屬於服務器推送技術的壹種。
簡單來說, WebSocket 減少了客戶端與服務器端建立連接的次數,減輕了服務器資源的開銷,只需要完成壹次 HTTP 握手。整個通訊過程是建立在壹次連接/狀態中,也就避免了 HTTP 的非狀態性,服務端會壹直與客戶端保持連接,直到雙方發起關閉請求,同時由原本的客戶端主動詢問,轉換為服務器有信息的時候推送。所以,它能做實時通信(聊天室、直播間等),其他特點還包括:
現象描述: 在 https 協議下訪問網站時,客戶端瀏覽器控制面板異常信息:
這種情況,毫無疑問我們就需要使用 wss:// 安全協議了,需要將客戶端瀏覽器獲取的頁面中 webscoket 的形式由 ws:// 改為 wss://
WebSocket 可以使用 ws 或 wss 來作為 統壹資源標誌符 ,類似於 HTTP 或 HTTPS 。其中 , wss 表示在 TLS 之上的 WebSocket ,相當於 HTTPS 。默認情況下, WebSocket 的 ws 協議基於 Http 的 80 端口;當運行在 TLS 之上時, wss 協議默認是基於 Http 的 443 端口。說白了, wss 就是 ws 基於 SSL 的安全傳輸,與 HTTPS 壹樣樣的道理。所以,如果妳的網站是 HTTPS 協議的,那妳就不能使用 ws:// 了,瀏覽器會 block 掉連接,和 HTTPS 下不允許 HTTP 請求壹樣。