HTTP通訊機制解析
阿新 • • 發佈:2019-01-06
-
HTTP是一個應用層協議,HTTP無需操心網路通訊的具體細節,它把聯網的細節都交給了通用,可靠的因特網傳輸協議層TCP/IP
-
TCP:
-
-
TCP提供了
-
-
無差錯的資料傳輸
-
按序傳輸,資料總是會按照發送的順序到達
-
未分段的資料流,可以在任意時刻以任意尺寸將資料傳送出去
-
-
TCP/IP隱藏了各種網路和硬體的特點和弱點,使各種型別的計算機和網路都能夠進行可靠通訊
-
只要進行了TCP連線,客戶端和伺服器之間的報文就不會丟失,不會被破壞,也不會在接收時出現錯序
-
HTTP位於TCP的上層,HTTP使用TCP來傳輸其報文資料,與之類似,TCP則位於IP的上層
-
-
HTTP網路協議棧
-
-
層次從上至下依次為:HTTP應用層 —> TCP傳輸層 —> IP網路層 —> 網路特有的鏈路介面(資料鏈路層)—> 物理硬體層
-
-
網路連線
-
-
在HTTP客戶端向伺服器傳送報文前,需要使用網際協議地址和埠號在客戶端和伺服器之間建立一條TCP/IP連線
-
在TCP中,你需要知道伺服器的IP地址,以及與伺服器上執行的特定軟體的TCP埠號,通過URL可以獲得HTTP伺服器的IP地址和埠號
-
比如:http://207.200.83.29.80/index.html,這個URL就使用了機器的IP地址--207.200.83.29,埠號80
-
又比如:http://www.baidu.com:80/index.html,這個URL沒有使用數字形式的IP地址,而是文字形式的域名,或者稱為主機名。
-
-
輸入URL後的通訊過程
-
-
使用者輸入URL,比如:http://www.google.com
-
獲取主機名www.google.com
-
DNS域名解析
-
獲取埠號80
-
連線到相應IP的埠80
-
客戶端傳送一條HTTP GET請求給伺服器
-
客戶端從伺服器讀取HTTP響應
-
關閉連線
-