WebSocket 和HTTP的區別及原理


  https://www.cnblogs.com/goeasycloud/p/9355164.html

 

今天來講一下與其他協議的區別和相同點,讓各位同學能夠更加深入的去了解和運用各種協議。

1 什么是WebSocket

  WebSocket從滿足基於Web的日益增長的實時通信需求應運而生,解決了客戶端發起多個Http請求到服務器資源瀏覽器必須要在經過長時間的輪詢問題,實現里多路復用,是全雙工、雙向、單套接字連接,在WebSocket協議下服務器和客戶端可以同時發送信息。

 

2 WebSocket和Http的異同點

同:1建立在TCP之上,通過TCP協議來傳輸數據。

2 都是可靠性傳輸協議。

3 都是應用層協議。

異:1 WebSocket是HTML5中的協議,支持持久連接,HTTP不支持持久連接

2 HTTP是單向協議,只能由客戶端發起,做不到服務器主動向客戶端推送信息。

 

3 WebSocket和Socket

  Socket本身並不是一個協議,它工作在OSI模型會話層,是一個套接字,TCP/IP網絡的API,是為了方便大家直接使用更底層協議而存在的一個抽象層。Socket其實就是一個門面模式,它把復雜的TCP/IP協議族隱藏在Socket接口后面,對用戶來說,一組簡單的接口就是全部,讓Socket去組織數據,以符合指定的協議。

  而WebSocket則是一個典型的應用層協議。

 

4 WebSocket  HTTP和TCP/IP

 WebSocket和HTTP一樣,都是建立在TCP之上,通過TCP來傳輸數據。后面的文章我會用代碼舉例子來展示。

 

5 SocketTCP/IP 
  Socket是對TCP/IP協議的封裝,像創建Socket連接時,可以指定使用的傳輸層協議,Socket可以支持不同的傳輸層協議(TCPUDP),當使用TCP協議進行連接時,該Socket連接就是一個TCP連接。

  說了這么多,希望對大家來理解WebSocket與Socket、TCP、HTTP的關系有所幫助,如果大家在工作當中需要用到WebSocket而不能解決問題的時候,建議大家可以使用一下一些三方的WebSocket,融雲、極光、GoEasy等,我這里就給大家推一個簡單免費的三方WebSocket,GoEasy。很成熟的一款產品,推薦原因是代碼簡單,運行穩定。網站是www.goeasy.io,大家可以自己去看一下。下篇文章我會用代碼來舉例說明這篇文章沒有具體說的地方。


免責聲明!

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



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