使用域名是爲了用戶更加友好的訪問目標網站,好比你想訪問百度進行搜索一些本身想要的東西,你是記www.baidu.com容易呢,仍是記61.135.169.121這個IP容易呢,很明顯是前者。可是對計算機而言,直接訪問IP地址會更快,效率會更高,由於域名須要域名解析服務器進行解析,最後仍是轉換成IP地址。域名解析這個過程須要花費20~500ms不等,500ms是什麼概念啊,地球的半徑是4萬公里,電信號在光纖中的傳播速度大約是200000km/s,500ms一個電信號能夠繞地球跑2.5圈,可見域名解析的效率有多低。chrome
咱們經過一個Linux中自帶的dig命令來看一下,解析www.kuwo.cn域名的整個過程。瀏覽器
在Linux下執行:$ dig +trace www.kuwo.cn,執行結果以下圖:緩存
咱們分步來看,服務器
這就是域名解析的全過程,共花費了231毫秒,時間比較長。fetch
咱們知道域名解析是把域名轉換成IP地址,再與目標主機進行通訊,因此咱們只須要把域名所對應的IP地址記錄下來,下次直接使用,就不須要再走上面那麼繁複的步驟了。優化
在HTML的<head>中添加以下的標籤:<link href="http://x.kuwo.cn" rel="dns-prefetch" />,那麼下次瀏覽器再次訪問目標網站的時候,就能夠直接使用,不須要重複解析了。網站
在Chrome瀏覽器咱們能夠看到域名解析的使用狀況,包括域名被緩存的百分比,哪些域名的解析過長等等.net
在瀏覽器的地址欄輸入:chrome://histograms/DNS.PrefetchQueue3d
結果以下圖所示:server
可見在我本地系統中,有66.9%的域名被瀏覽器緩存直接使用,沒有花費時間