DNS Prefetching

 

DNS Prefetching故名思義為DNS預先解析,

用來降低網頁在讀取各個資源時所造成的DNS解析延遲。

注意要點有:

 

一、chrome 會自動把當前頁面的所有帶<a> tag href的link的dns都prefetch一遍。

 

二、在chrome browser之下於<a> tag所指定的https資源路徑將默認不會啟動DNS prefecting,

但可使用meta裡面http-equiv來強制啟動功能

<meta http-equiv="x-dns-prefetch-control" content="on">

 

三、手動作DNS prefecting方式為

<link rel="dns-prefetch" href="http://www.google.com/">

 

四、chrome本身不做dns記錄的cache,是直接從操作系統讀dns,

也就是說,直接修改系統的dns記錄或者host是可以直接影響chrome的。

 

五、Chrome瀏覽器啟動的時候,會自動快速解析瀏覽器最近一次啟動時記錄的domin的前10個。

可使用以下指令查詢

chrome://dns/

 

六、使用以下指令可查詢chrome在處理dns prefetching時的列隊狀態,

例如:從啟動chrome到訪問剛剛這個測試頁面,一共有88次dns prefetching,

其中67次直接命中耗時0ms,有4次耗時5ms。

chrome://histograms/DNS.PrefetchQueue

另一個指令請參考

chrome://histograms/DNS

 

七、使用以下指令可用來手動刪除過期的DNS快取

chrome://net-internals/#dns

 

參考資料:

DNS Prefetching

X-DNS-Prefetch-Control

预加载系列一:DNS Prefetching 的正确使用姿势

DNS Prefetching的两三事

DNS Prefetching - 預先做DNS解析,幫助網頁載入速度更快

HTML <link> rel Attribute

Resource Hints