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缓存

相关文章
相关标签/搜索