TCP Socket Http關係
阿新 • • 發佈:2018-12-11
理解Tomcat內部處理網路資料的機制同時需要了解相關的一些術語,這樣我們在閱讀原始碼的時候能更加清楚的理解Connector下使用到的Socket通訊原理。
TCP/IP:
資料在網路傳輸是基於TCP/ IP 協議傳輸的。對應於網路模型的話,TCP處於傳輸層,IP屬於網路層。
Socket:
應用程式開發網路資料傳輸的一個介面,Socket是對TCP/IP的一個協議封裝。Socket變成必須指定IP與port。
Http:
是一種應用協議,處於網路模型的最上層(應用層),一般來講Http通訊是基於socke封裝TCP/IP協議來通訊的。應用軟體如:瀏覽器與Tomcat/Apache/Nginx 都是基於Http協議通訊。
Http,Socket.TCP/IP:
瀏覽器傳送HTTP請求,該請求基於TCPIP協議傳輸資料,只是包含了HTTP頭部資訊。Socket處於二者之間,相當於一箇中間人,將二者結合起來引數資料的傳輸。
1.首先瀏覽器與伺服器(Tomcat)先建立TCP連線,這時候就需要經過三次握手協議。
2.建立起連線後瀏覽器傳送HTTP協議的請求,該請求是建立在之前的TCP連線上的。伺服器收到http請求後經過後臺容器的處理返回一個HTTP響應頭資料,這時候瀏覽器根據相應資料渲染成頁面。
3.如果沒有其他的HTTP請求了,則斷開TCP連線,需要經過4次握手。