webSocket, http,socket的區(qū)別

1.什么是web socket?

WebSocket是基于TCP協(xié)議實現(xiàn)的HTML5中的協(xié)議,支持頁面使用Web Socket協(xié)議與遠程主機進行全雙工的通信,和HTTP協(xié)議是并存的兩種協(xié)議。

在WebSocket中,只需要服務(wù)器和瀏覽器通過HTTP協(xié)議進行一個握手的動作,然后單獨建立一條TCP的通信通道進行數(shù)據(jù)的傳送。?

WebSocket連接的過程是:

首先,客戶端發(fā)起http請求,經(jīng)過3次握手后,建立起TCP連接;http請求里存放WebSocket支持的版本號等信息,如:Upgrade、Connection、WebSocket-Version等;

然后,服務(wù)器收到客戶端的握手請求后,同樣采用HTTP協(xié)議回饋數(shù)據(jù);

最后,客戶端收到連接成功的消息后,開始借助于TCP傳輸信道進行全雙工通信。

2.WebSocket與Socket的關(guān)系

當(dāng)兩臺主機通信時,必須通過Socket連接,Socket則利用TCP/IP協(xié)議建立TCP連接。TCP連接則更依靠于底層的IP協(xié)議,IP協(xié)議的連接則依賴于鏈路層等更低層次。

WebSocket就像HTTP一樣,則是一個典型的應(yīng)用層協(xié)議。?

Socket是傳輸控制層接口,WebSocket是應(yīng)用層協(xié)議。

3.WebSocket與HTTP的關(guān)系?

(1)相同點:

1. 都是一樣基于TCP的,都是可靠性傳輸協(xié)議。

2. 都是應(yīng)用層協(xié)議。

(2)不同點:

1. WebSocket是雙向通信協(xié)議,模擬Socket協(xié)議,可以雙向發(fā)送或接受信息。HTTP是單向的。

2. WebSocket是需要瀏覽器和服務(wù)器握手進行建立連接的。而http是瀏覽器發(fā)起向服務(wù)器的連接,服務(wù)器預(yù)先并不知道這個連接。

(3)聯(lián)系

WebSocket在建立握手時,數(shù)據(jù)是通過HTTP傳輸?shù)摹5墙⒅?,在真正傳輸時候是不需要HTTP協(xié)議的。

參考鏈接:https://blog.csdn.net/SL_ideas/article/details/73648378

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容