第一種解釋:css
通常會經歷如下幾個過程:html
一、首先,在瀏覽器地址欄中輸入urlajax
二、瀏覽器先查看瀏覽器緩存-系統緩存-路由器緩存,若是緩存中有,會直接在屏幕中顯示頁面內容。若沒有,則跳到第三步操做。數據庫
三、在發送http請求前,須要域名解析(DNS解析)(DNS(域名系統,Domain Name System)是互聯網的一項核心服務,它做爲能夠將域名和IP地址相互映射的一個分佈式數據庫,可以令人更方便的訪問互聯網,而不用去記住IP地址。),解析獲取相應的IP地址。瀏覽器
dns也是能夠進行優化加載速度的緩存
四、瀏覽器向服務器發起tcp鏈接,與瀏覽器創建tcp三次握手。(TCP即傳輸控制協議。TCP鏈接是互聯網鏈接協議集的一種。)服務器
五、握手成功後,瀏覽器向服務器發送http請求,請求數據包。tcp
六、服務器處理收到的請求,將數據返回至瀏覽器分佈式
七、瀏覽器收到HTTP響應優化
八、讀取頁面內容,瀏覽器渲染,解析html源碼
九、生成Dom樹、解析css樣式、js交互
十、客戶端和服務器交互
十一、ajax查詢
其中,步驟2的具體過程是:
第二種解釋:
第一步:客戶機提出域名解析請求,並將該請求發送給本地的域名服務器。
第二步:當本地的域名服務器收到請求後,就先查詢本地的緩存,若是有該紀錄項,則本地的域名服務器就直接把查詢的結果返回。
第三步:若是本地的緩存中沒有該紀錄,則本地域名服務器就直接把請求發給根域名服務器,而後根域名服務器再返回給本地域名服務器一個所查詢域(根的子域)的主域名服務器的地址。
第四步:本地服務器再向上一步返回的域名服務器發送請求,而後接受請求的服務器查詢本身的緩存,若是沒有該紀錄,則返回相關的下級的域名服務器的地址。
第五步:重複第四步,直到找到正確的紀錄。