HTTP和Websocket的異同

HTTP和WebSocket是兩種不同的協議。WebSocket在建立握手時,數據是通過HTTP傳輸的,但是建立之後傳輸數據通信是不需要HTTP協議的。

  • 相同點
  1. 都是一樣基於TCP連接,都是可靠性傳輸協議。

  2. 都是應用層協議。

  • 不同點
  1. HTTP是單向的,客戶端發送請求,服務器發送響應,請求以HTTP或HTTPS的形式發送。WebSocket是雙向的,在客戶端-服務器通信的場景中使用的全雙工協議,與HTTP不同,它以ws://或wss://開頭。

  2. HTTP協議是無狀態的,每個HTTP或HTTPS請求每次都會新建與服務器的連接,並且在獲得響應後,連接將自行終止。Websocket是一個有狀態協議,這意味着客戶端和服務器之間的連接將保持活動狀態,直到被任何一方(客戶端或服務器)終止。在通過客戶端和服務器中的任何一方關閉連接之後,連接將從兩端終止。

  3. HTTP協議傳輸的數據通常是文本或二進制數據。WebSocket可以傳輸任意格式的數據,包括文本、二進制、JSON等。

  • 應用

HTTP協議常用於一次性、不會高頻更新的數據傳輸。

Websocket協議常用於高頻更新的數據傳輸。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章