瀏覽器裏輸入一個URL後發生了什麼?

1、瀏覽器查找域名的IP地址

把域名解析成對應的IP,NDS過程如下:

A:查找瀏覽器緩存。因爲瀏覽器一般會緩存DNS一段時間,找不到則進行下一步。

B:查找系統緩存。查找本地的hosts文件,找到直接返回,找不到進行下一步。

C:查找路由器緩存。路由器一般都有自己的DNS緩存,將前面的請求發送給路由器,查找ISP服務商緩存的DNS的服務器,找到直接返回,找不到進行下一步。

D:本地域名服務器以DNS客戶的身份向其他根域名服務器繼續發送查詢請求報文,而不是讓該主機自己進行下一步查詢。本地域名服務器地址通過DHCP協議得到。

E:迭代查找。本地域名服務器採用迭代查詢,它先向一個根域名服務器查詢,然後根域名服務器告訴本地域名服務器,下一次查詢的頂級域名服務器的IP地址。本地域名服務器向頂級域名服務器進行查詢,頂級域名服務器告訴本地域名服務器下一次應該查找的權限域名服務器的IP地址,然後本地域名服務器向權限域名服務器進行查詢,權限域名服務器告訴本地域名服務器所查詢的網址的IP地址。

本地域名域名服務器把最後結果告訴主機。

2、瀏覽器與目標服務器建立TCP連接(三次握手

A:第一次握手。客戶主動去連接服務器,並且發送SYN(假設***爲J)服務器被動打開(passive open)

B:第二次握手。服務器在收到SYN後,他會發送一個SYN(K)以及一個ACK(J+1)應答給客戶。

C:第三次握手。客戶在收到新的SYN(K),ACK(J+1),也迴應ACK(K+1)來表示收到了。

此時C-S建立連接。

3、瀏覽器給Web服務器發送一個HTTP-GET方法的請求。包括訪問的URL、KeepAlive、長連接、用戶瀏覽器的操作系統信息,編碼等。

       某些服務器會做永久重定向響應。對於大型網站存在對各主機站點,負載均衡或者導入流量,提高SEO排名,往往不會直接返回請求頁面,而是重定向。服務器往往會返回3開頭的重定向碼,瀏覽器在獲取了重定向響應後,在響應報文中Location項中找到重定向地址,瀏覽器重新第一步訪問即可。

重定向的作用:重定向是爲了負載均衡或者導入流量,提高SEO(搜索引擎優化)排名。利用一個前端服務器接受請求,然後負載到不同的主機上,可以大大提高站點業務併發處理能力,重定向也可將多個域名的訪問集中到一個站點(www.baidu.com和baidu.com會被搜索引擎認爲是兩個網址,永久重定向會將兩個地址關聯起來,搜索引擎會認爲是同一個網站,從而提高排名)

      瀏覽器跟蹤重定向地址

4、服務器處理請求並返回響應

   (1)服務器發出一個HTML響應

   (2)釋放TCP連接(四次揮手

      A:第一次揮手:客戶端發送一個FIN,用來關閉客戶端到服務器的數據傳送。

      B:第二次揮手。服務器收到這個FIN,它發、返回一個ACK,確認序號爲收到的序號加1,和SYN一樣,一個FIN將佔用一個序號。

      C:第三次揮手。服務器關閉與客戶端的連接,發送一個FIN給客戶端

      D:第四次揮手。客戶端發回ACK報文確認,並將確認序號設置爲收到序號+1。

5、瀏覽器解析渲染顯示頁面。

       

在瀏覽器與服務器進行信息交互的過程中,也使用了IP協議(網絡層),OSPF協議(IP數據包在不同的路由器中傳輸時,使用該協議),ARP協議(路由器與服務器通信時,需要將IP地址轉化成MAC地址),

 

原文鏈接:https://blog.csdn.net/Damn_Yang/article/details/90727758

圖片來源:https://www.jianshu.com/p/d3725391af59 關於三次握手、四次揮手寫的比較通俗易懂