在頁面輸入url,會經過的一些過程

1.      我們輸入一個域名:www.baidu.com  

2.      瀏覽器查找瀏覽器緩存,如果有域名的IP地址則返回,如果沒有繼續查找;

3.      系統查找系統緩存,如果有域名的IP地址則返回,如果沒有繼續查找;

4.      路由器查找路由器緩存,如果有域名的IP地址則返回,如果沒有繼續查找;

5.      本地域名服務器採用迭代查詢,它先向一個根域名服務器查詢;

6.      根域名服務器告訴本地域名服務器,下一次應查詢的頂級域名服務器dns.com的IP地址;

7.      本地域名服務器向頂級域名服務器dns.com進行查詢;

8.      頂級域名服務器dns.com告訴本地域名服務器,下一次應查詢的權限域名服務器dns.baidu.com的IP地址;

9.      本地域名服務器向權限域名服務器dns.baidu.com進行查詢;

10.  權限域名服務器dns.baidu.com告訴本地域名服務器所查詢的主機www.baidu.com的IP地址

11.  本地域名服務器最後把查詢結果告訴主機;

12.  主機瀏覽器獲取到Web服務器的IP地址後,與服務器建立TCP連接;

13.  瀏覽器所在的客戶機向服務器發出連接請求報文;

14.  服務器接收報文後,同意建立連接,向客戶機發出確認報文;

15.  客戶機接收到確認報文後,再次向服務器發出報文,確認已接收到確認報文;

16.  此處客戶機與服務器之間的TCP連接建立完成,開始通信;

17.  瀏覽器發出取文件命令:GET

18.  服務器給出響應,將指定文件發送給瀏覽器;

19.  瀏覽器釋放TCP連接;

20.  瀏覽器所在主機向服務器發出連接釋放報文,然後停止發送數據;

21.  服務器接收到釋放報文後發出確認報文,然後將服務器上未傳送完的數據發送完;

22.  服務器數據傳輸完畢後,向客戶機發送連接釋放報文;

23.  客戶機接收到報文後,發出確認,然後等待一段時間後,釋放TCP連接;

24.  瀏覽器顯示頁面中所有文本。

 

1、客戶端瀏覽器通過DNS解析到www.baidu.com的IP地址220.181.27.48,通過這個IP地址找到客戶端到服務器的路徑。客戶端瀏覽器發起一個HTTP會話到220.161.27.48,然後通過TCP進行封裝數據包,輸入到網絡層。

  2、在客戶端的傳輸層,把HTTP會話請求分成報文段,添加源和目的端口,如服務器使用80端口監聽客戶端的請求,客戶端由系統隨機選擇一個端口如5000,與服務器進行交換,服務器把相應的請求返回給客戶端的5000端口。然後使用IP層的IP地址查找目的端。

  3、客戶端的網絡層不用關係應用層或者傳輸層的東西,主要做的是通過查找路由表確定如何到達服務器,期間可能經過多個路由器,這些都是由路由器來完成的工作,我不作過多的描述,無非就是通過查找路由表決定通過那個路徑到達服務器。

  4、客戶端的鏈路層,包通過鏈路層發送到路由器,通過鄰居協議查找給定IP地址的MAC地址,然後發送ARP請求查找目的地址,如果得到迴應後就可以使用ARP的請求應答交換的IP數據包現在就可以傳輸了,然後發送IP數據包到達服務器的地址。

 

發佈了43 篇原創文章 · 獲贊 144 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章