(1)浏覽器先搜尋自身的DNS緩存
(2)作業系統搜尋自身的DNS緩存(浏覽器沒有找到緩存或者緩存已經失效)
(3)讀取本地的HOST檔案
(4)浏覽器發起一個DNS的一個系統調用
寬帶營運商伺服器檢視本身緩存
檢視本身緩存,沒有?--->營運商伺服器發起一個疊代DNS解析的請求
營運商伺服器向根域伺服器發起請求xxx.com的ip位址是多少?根域回複:我不知道,但我知道com域頂級域名的ip位址,你問它;
營運商伺服器向com域頂級域名伺服器請求xxx.com的ip位址是多少?com域伺服器回複:我不知道,但我知道xxx.com這個域的ip位址;
營運商伺服器xxx.com這個域伺服器(域名的注冊商提供的)發起請求xxx.com的ip位址是多少?xxx.com這個域伺服器:結果發送給營運商DNS伺服器,
營運商DNS伺服器拿到了ip位址,傳回給作業系統核心,再傳回給浏覽器;
營運商伺服器把結果傳回作業系統核心同時緩存起來
作業系統核心把結果傳回浏覽器
浏覽器就拿到了www.imooc.com的IP位址
(5)浏覽器獲得域名對應的IP位址後,發起HTTP“三次握手”
(6)TCP/IP連結建立起來後,浏覽器就可以向伺服器發送HTTP請求了
(7)伺服器端接受到了這個請求,根據路徑參數,經過後端的一些處理之後,把處理後的結果資料傳回給浏覽器,比如頁面完整的html代碼等傳回給浏覽器
(8)浏覽器拿到了完整的html代碼後,在解析和渲染這個頁面的時候,裡面的JS,CSS,圖檔靜态資源,他們同樣也是一個個http請求,都要經過上面的主要七個步驟。