今天翻看twitter的源碼的時候看到了一下内容:
<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預先擷取。
DNS Prefetch 已經被下面的浏覽器支援
Firefox: 3.5+
Chrome: Supported
Safari 5+
O
pera: Unknown
IE: 9 (called “Pre-resolution” on blogs.msdn.com)
預設情況下浏覽器會對頁面中和目前域名(正在浏覽網頁的域名)不在同一個域的域名進行預擷取,并且緩存結果,這就是隐式的DNS Prefetch。如果想對頁面中沒有出現的域進行預擷取,那麼就要使用顯示的DNS Prefetch了,也就是使用link标簽:
DNS Prefetch應該盡量的放在網頁的前面,推薦放在<meta charset=”/>後面。
PS:可以通過下面的标簽禁止隐式的DNS Prefetch。
<meta http-equiv=”x-dns-prefetch-control” content=”off”>