1. 程式人生 > >HTTP和TCP的區別和聯絡

HTTP和TCP的區別和聯絡

HTTP 是應用層協議,TCP 是傳輸層協議(位於應用層之下),放在一起類比並不合適。不過猜測樓主是想對比 “標準 HTTP 協議” 還是 “自定義的協議(基於 TCP Socket)” 。一般來說,移動應用推薦使用 HTTP 協議,有很多優點:

1)  HTTP 發展成熟

HTTP 幾乎已經快成為一種通用的 Web 標準,Web Services、REST、Open API、OAuth 等等都是基於 HTTP 協議的。它已經不僅僅是 Hyper Text 的傳輸標準了,幾乎所有資料的傳輸(多媒體、XML、JSON)都可以採用 HTTP。

2)後臺複用
因為很多應用,除了有移動端,還有Web端,甚至桌面端。Web

版中前後臺互動,無論是頁面請求還是AJAX 請求,都是採用標準 HTTP 協議。那麼其他的客戶端沒有理由重新設計一套協議。

3)HTML 5 應用

現在不少移動產品都採用或者半採用 HTML 5 技術,那麼和伺服器的互動又迴歸到 AJAX 上。不用說,還是離不開 HTTP。

但是也有一些侷限性,比如以下場景就不適合HTTP 協議:

1)實時資料推送
除了 iOS 開發提供有標準的 Apple 訊息推送中心,其他移動產品可能還是要採用 Socket 長連線才能保證實時通訊。比較常見的有很多即時通訊軟體採用的 XMPP 協議。

2)流媒體
適用於音訊播放、視訊播放、語音會議等等,一般可能採用 RTMP 協議。