DNS預獲取(dns-prefetch)

今天翻看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緩存

相關文章
相關標籤/搜索