Web Socket 理解


1. Web Socket 是 HTML5 的新協議,允許服務器端主動向客戶端發送數據,是一種全雙工、雙向的通信方式,並且它可以保持長時間通信.

概念理解:

【1】全雙工:意思就是服務器向瀏覽器發送數據的同時,瀏覽器也可以向服務器傳遞數據,即同時進行信息的雙向傳遞.

  擴展:(1)半雙工:允許通信雙方互相傳遞數據,但是在一方 A 向另一方 B 傳遞數據時,B 不能向 A 傳,類比獨木橋.

  (2)單工:即只允許一方 A 向另一方 B 傳遞數據,B 永遠都不能向 A 傳遞數據,類比單行道.

【2】長時間通信:類比 HTTP 協議是一次請求,一次響應,兩次請求之間不存在任何關系,除非加入 cookie 保存信息。而 Web Socket 只需要一次請求,接下來一直處於同一個連接狀態進行通訊.

2. Web Socket 通信過程:首先使用 HTTP 協議進行握手初始化連接,服務器響應后,連接使用 Upgrade 頭部字段將 HTTP 協議切換到 Web Socket 協議. 之后就可以在一次連接中一直保持通信,而不需要像 HTTP 協議,不斷的請求-響應、請求-響應......【這里轉一張圖:https://www.cnblogs.com/jane-panyiyun/p/13092058.html】

 

 3. Web Socket 特點:

【1】與 HTTP 協議兼容

【2】建立在 TCP 協議上,利用了握手,與 HTTP 協議同屬 應用層.

【3】服務器和客戶端可以發送少量數據,性能開銷小,通信高效

【4】沒有同源策略限制

【5】協議標志符是 ws 和 wss,前者為不安全協議,后者為安全協議

【6】可以發送文本,也可以發送二進制數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM