瀏覽器訪問伺服器的流程

2022-07-14 10:12:12 字數 3588 閱讀 1325

1、瀏覽器輸上網域名稱,例如www.baidu.com

2、瀏覽器會先訪問dns伺服器,把網域名稱解析成ip位址,在返回給瀏覽器

2)dns的解析原理:

原理步驟:

1)系統首先會查詢本地的dns快取和hosts檔案資訊,確認其中是否有與,網域名稱www.baidu.com所對應的ip位址。如果有,就直接訪問這個ip位址所對應的www.baidu.com網域名稱伺服器。

2)如果沒有找到,那麼,系統將會把瀏覽器的解析請求傳送給本地主機所指定的dns伺服器,稱為ldns。如果ldns伺服器中有網域名稱www.baidu.com所對應的ip位址,則返回給客戶端的瀏覽器,如果沒有,則繼續請求其他dns伺服器。

3)ldns伺服器會從dns系統的根(.)開始請求對網域名稱www.baidu.com的解析。根dns伺服器全球只有13臺,根網域名稱伺服器是沒有網域名稱www.baidu.com解析記錄的。但是它會有網域名稱www.baidu.com所對應的頂級域.com的解析記錄,因此直接把頂級域.com所對應的dns位址返回給ldns伺服器。

4)ldns伺服器獲取到頂級域.com對應的dns伺服器位址後,就會去.com伺服器請求對www.baidu.com網域名稱的解析。在頂級網域名稱伺服器也不會有www.baidu.com的解析記錄的。但是它有www.baidu.com的父級網域名稱的解析記錄,即baidu.com。因此頂級網域名稱.com伺服器又會把baidu.com所對應的dns伺服器的ip位址返回給ldns。

5)ldns伺服器收到baidu.com所對應的ip位址後,就會去baidu.com網域名稱伺服器請求對www.baidu.com的網域名稱解析。baidu.com網域名稱對應的dns伺服器是該網域名稱的授權dns伺服器。這個dns伺服器就是企業購買網域名稱時用於管理解析的伺服器。

6)baidu.com網域名稱dns伺服器會吧www.baidu.com網域名稱所對應的ip位址給解析出來,然後發給ldns。

7)ldns把解析出來的結果,www.baudu.com所對應的ip位址傳送給客戶端的瀏覽器。並且ldns也會將其網域名稱和對應的位址快取到cache中。

8)客戶端瀏覽器收到後,也會將其網域名稱以及對應的ip位址快取的到dns快取和hosts檔案中。

3、瀏覽器從ip中解析出埠號

4、瀏覽器通過解析後得到的ip和埠號來與web伺服器建立一條tcp通道連線(三次握手)

1)說說tcp/ip協議是什麼

5、建立tcp連線之後,瀏覽器向web伺服器傳送一條http請求報文。

1)請求行

作用:用來說明客戶端想要做什麼。

內容:包括方法欄位get和url欄位以及http協議版本

2)請求頭

內容:包括**型別、語言型別、支援壓縮、客戶端型別、主機等資訊。

3)空行

作用:告訴伺服器空行以下內容不屬於請求頭部資訊。

4)請求報文主體

作用:用來說明客戶端具體想要做的事情。

內容:檢視資訊、應用post方法。

6、web伺服器響應並讀取瀏覽器的請求資訊,然後返回一條http響應報文。

1)狀態行

作用:用來說明服務端響應客戶端的狀態。

內容:包括洗衣及版本號、數字狀態碼、狀態情況

2)響應頭

內容:包括location、server、connect、vary等

3)空行

作用:告訴客戶端空行以下內容不屬於響應頭部資訊。

4)響應報文主體

作用:用來裝載著要返回給客戶端的資料

7、web伺服器關閉http連線,關閉tcp連線,web伺服器顯示訪問的**內容到螢幕上。

**: 

2、瀏覽器會先訪問dns伺服器,把網域名稱解析成ip位址,在返回給瀏覽器

2)dns的解析原理:

原理步驟:

1)系統首先會查詢本地的dns快取和hosts檔案資訊,確認其中是否有與,網域名稱www.baidu.com所對應的ip位址。如果有,就直接訪問這個ip位址所對應的www.baidu.com網域名稱伺服器。

2)如果沒有找到,那麼,系統將會把瀏覽器的解析請求傳送給本地主機所指定的dns伺服器,稱為ldns。如果ldns伺服器中有網域名稱www.baidu.com所對應的ip位址,則返回給客戶端的瀏覽器,如果沒有,則繼續請求其他dns伺服器。

3)ldns伺服器會從dns系統的根(.)開始請求對網域名稱www.baidu.com的解析。根dns伺服器全球只有13臺,根網域名稱伺服器是沒有網域名稱www.baidu.com解析記錄的。但是它會有網域名稱www.baidu.com所對應的頂級域.com的解析記錄,因此直接把頂級域.com所對應的dns位址返回給ldns伺服器。

4)ldns伺服器獲取到頂級域.com對應的dns伺服器位址後,就會去.com伺服器請求對www.baidu.com網域名稱的解析。在頂級網域名稱伺服器也不會有www.baidu.com的解析記錄的。但是它有www.baidu.com的父級網域名稱的解析記錄,即baidu.com。因此頂級網域名稱.com伺服器又會把baidu.com所對應的dns伺服器的ip位址返回給ldns。

5)ldns伺服器收到baidu.com所對應的ip位址後,就會去baidu.com網域名稱伺服器請求對www.baidu.com的網域名稱解析。baidu.com網域名稱對應的dns伺服器是該網域名稱的授權dns伺服器。這個dns伺服器就是企業購買網域名稱時用於管理解析的伺服器。

6)baidu.com網域名稱dns伺服器會吧www.baidu.com網域名稱所對應的ip位址給解析出來,然後發給ldns。

7)ldns把解析出來的結果,www.baudu.com所對應的ip位址傳送給客戶端的瀏覽器。並且ldns也會將其網域名稱和對應的位址快取到cache中。

8)客戶端瀏覽器收到後,也會將其網域名稱以及對應的ip位址快取的到dns快取和hosts檔案中。

3、瀏覽器從ip中解析出埠號

4、瀏覽器通過解析後得到的ip和埠號來與web伺服器建立一條tcp通道連線(三次握手)

1)說說tcp/ip協議是什麼

5、建立tcp連線之後,瀏覽器向web伺服器傳送一條http請求報文。

1)請求行

作用:用來說明客戶端想要做什麼。

內容:包括方法欄位get和url欄位以及http協議版本

2)請求頭

內容:包括**型別、語言型別、支援壓縮、客戶端型別、主機等資訊。

3)空行

作用:告訴伺服器空行以下內容不屬於請求頭部資訊。

4)請求報文主體

作用:用來說明客戶端具體想要做的事情。

內容:檢視資訊、應用post方法。

6、web伺服器響應並讀取瀏覽器的請求資訊,然後返回一條http響應報文。

1)狀態行

作用:用來說明服務端響應客戶端的狀態。

內容:包括洗衣及版本號、數字狀態碼、狀態情況

2)響應頭

內容:包括location、server、connect、vary等

3)空行

作用:告訴客戶端空行以下內容不屬於響應頭部資訊。

4)響應報文主體

作用:用來裝載著要返回給客戶端的資料

7、web伺服器關閉http連線,關閉tcp連線,web伺服器顯示訪問的**內容到螢幕上。

**: 

訪問伺服器 瀏覽器訪問Web伺服器全過程

我們輸入 後,一條資訊從客戶端發出 通過一系列路徑到達要訪問的服務端,告訴服務端我們需要什麼資料 然後服務端將這些資料傳送出來,經過網際網路,到達客戶端 最後將這些資訊顯示在螢幕上。以上資訊看起來比較簡單,但實際上需要的資訊有很多,比如 如果我們想準確獲取 的資料,我們應該至少知道自己的mac位址 ...

再說瀏覽器與伺服器響應流程

當我們在瀏覽器中輸入了乙個url位址 如www.cnblogs.com 從等待到頁面顯示的過程中,後台究竟發生了什麼處理呢?一.解析網域名稱位址為ip位址 瀏覽器dns快取 以chrome為例,在瀏覽器視窗中輸入chrome net internals dns,就可以檢視當前瀏覽器dns快取記錄,c...

瀏覽器輸入URL訪問伺服器過程

我們來看看在自己的瀏覽器中輸入url www.sina.com.cn,連線都經歷了哪些過程 socket連線是通過ip和埠建立的。當dns解析完成,我們就擁有了目標ip和埠號,這樣我們就可以開始建立連線,接下來就是大家都清楚的3次握手,這裡就不展開了,相關的內容可以去檢視網路通訊的三次握手。連線成功...