有DNS的地方,就有緩存。html
瀏覽器、操做系統、Local DNS、根域名服務器,它們都會對DNS結果作必定程度的緩存。本文總結一些常見的瀏覽器和操做系統的DNS緩存時間。web
Table of Contents
1 操做系統的DNS緩存
1.1 windows
windows DNS緩存的默認值是 MaxCacheTTL,見這裏,它的默認值是86400s,也就是一天。它是TTLu 這篇文章列出了一些瀏覽器的DNS緩存時間。chrome
瀏覽器DNS緩存的時間跟ttl值無關,每種瀏覽器都使用一個固定值。windows
1.2 macOS
macOS 嚴格遵循DNS協議中的TTL瀏覽器
2 瀏覽器的DNS緩存
2.1 chrome
爲了加快訪問速度,Google Chrome瀏覽器採用了預提DNS記錄,在本地創建DNS緩存的方法,加快網站的鏈接速度。網站
chrome://net-internals/#dns 這裏能夠看各域名的DNS 緩存時間。chrome對每一個域名會默認緩存60s。spa
2.2 IE
IE將DNS緩存30min。見這裏
2.3 firefox
Firefox有dns緩存功能,可是默認緩存時間只有1分鐘,能夠經過修改該默認值加快DNS解析速度,方法以下:
打開一個新的窗口,地址欄輸 入 about:config,回車,進入設置界面。而後搜索 network.dnsCacheExpiration ,把原來的60改爲 6000(表示緩存6000秒),再搜索network.dnsCacheEntries 把默認的20改爲1000(表示緩存1000條)。若是沒 有上面兩個項目,新建它們便可,
新建條目類型爲整數型。 固然也能夠按照須要設置成其它的值。
2.4 safari
約爲10s
3 瀏覽器對DNS解析結果的處理
若是一個域名的DNS解析結果會有多個的話,瀏覽器是如何處理的呢?
Chrome瀏覽器會優先向第一個IP發起HTTP請求,若是不通,再向後面的IP發起HTTP請求。