今天翻看twitter的源碼的時候看到了一下內容:html
<link rel='dns-prefetch' href='http://a0.twimg.com'/> <link rel='dns-prefetch' href='http://a1.twimg.com'/> <link rel='dns-prefetch' href='http://a2.twimg.com'/> <link rel='dns-prefetch' href='http://a3.twimg.com'/> <link rel='dns-prefetch' href='http://api.twitter.com'/>
查閱了相關資料,知道DNS Prefetch也就是DNS預獲取,也是前段優化的一部分。在前段優化中關於DNS的有兩點:一是減小DNS的請求次數,第二個就是進行DNS預先獲取。html5
DNS Prefetch 已經被下面的瀏覽器支持git
Firefox: 3.5+ Chrome: Supported Safari 5+ Opera: Unknown IE: 9 (called 「Pre-resolution」 on blogs.msdn.com)
默認狀況下瀏覽器會對頁面中和當前域名(正在瀏覽網頁的域名)不在同一個域的域名進行預獲取,而且緩存結果,這就是隱式的DNS Prefetch。若是想對頁面中沒有出現的域進行預獲取,那麼就要使用顯示的DNS Prefetch了,也就是使用link標籤:github
<link rel='dns-prefetch' href='http://api.twitter.com'/>
DNS Prefetch應該儘可能的放在網頁的前面,推薦放在 後面。web
PS:能夠經過下面的標籤禁止隱式的DNS Prefetch。
api
內容整理自:DNS-Prefetching瀏覽器
本文來源:url緩存