TCP UDP socket http webSocket 之間的關係

OSI&TCP/IP模型

要弄清tcp udp socket http websocket之間的關係,首先要知道經典的OSI七層模型,與之對應的是TCP/IP的四層模型。
看圖說話:
clipboard.png程序員

從圖中能夠看出,tcp udp工做在傳輸層,http websocket工做在應用層,而socket不屬於七層模型中的任一層,能夠理解爲socket工做在傳輸層與應用層中間的隱含層中。web

幾者之間的關係

socket自己不是一種協議,而是對傳輸層中的TCP/UDP協議進行了封裝,對用戶隱藏了內部TCP/UDP是如何傳輸的,只提供一套接口(API)給程序員調用,從而完成socket編程。經過socket接口,咱們才能使用TCP/UDP協議。編程

關於socketTCP/UDP的關係,相似操做系統與接口之間的關係:
TCP/IP只是一個協議棧,就像操做系統的運行機制同樣,必需要具體實現,同時還要提供對外的操做接口。這個就像操做系統會提供標準的編程接口,好比win32編程接口同樣,TCP/IP也要提供可供程序員作網絡開發所用的接口,這就是Socket編程接口。服務器

clipboard.png

而咱們一般瀏覽網頁用到的http協議,是創建在TCP協議之上的一種應用層協議。http協議最顯著的特色是它是一種無狀態鏈接,客戶端發送的每次請求都須要服務器回送響應,在請求結束後,會主動釋放鏈接,是一種「短鏈接」。websocket

幾者之間的關係概況

對於幾者之間的關係,能夠概況爲:網絡

http websocket等應用層協議經過socket接口從而調用tcp udp等傳輸層協議,從而達到網絡通訊。socket

tcp udp =》 socket =》 http websockettcp

總結

綜上所述,咱們編程不會直接去調用tcp udp,而是經過他們封裝好的接口socket去通訊。能夠說,如今幾乎網絡上全部的通訊,底層都是經過socket完成的,一切皆Socketspa

相關文章
相關標籤/搜索