查阅了相关资料,知道DNS Prefetch也就是DNS预获取,也是前段优化的一部分。在前段优化中关于 DNS的有两点:一是减少DNS的请求次数,第二个就是进行DNS预先获取。
DNS Prefetch 已经被下面的浏览器支持
Firefox: 3.5+
Chrome: Supported
Safari 5+
Opera: Unknown
IE: 9 (called “Pre-resolution” on blogs.msdn.com)
默认情况下浏览器会对页面中和当前域名(正在浏览网页的域名)不在同一个域的域名进行预获取,并且缓存结果,这就是隐式的DNS Prefetch。如果想对页面中没有出现的域进行预获取,那么就要使用显示的DNS Prefetch了,也就是使用link标签:
<link rel=”dns-prefetch” href=”http://api.twitter.com
”/>
DNS Prefetch应该尽量的放在网页的前面,推荐放在<meta charset=”/>后面。
1. DNS Prefetching
DNS主机名解析有时会出现拖慢网站速度的问题。现代浏览器当遇到DNS解析时已经十分聪明——用户在跟随某个链接之前,浏览器先尝试解析域名再将其进行缓存。
DNS Prefetching特性允许开发者手动控制,告诉浏览器需要解析哪个域名。代码如下:
[js] view plaincopy
<link rel="dns-prefetch" href="//fonts.googleapis.com">
<link rel="dns-prefetch" href="//google-analytics.com">
<link rel="dns-prefetch" href="//www.google-analytics.com
">
<link rel="dns-prefetch" href="//platform.twitter.com">
DNS 作为互联网的基础协议,其解析的速度似乎容易被网站优化人员忽视。现在大多数新浏览器已经针对DNS解析进行了优化,典型的一次DNS解析耗费20-120 毫秒,减少DNS解析时间和次数是个很好的优化方式。DNS Prefetching是具有此属性的域名不需要用户点击链接就在后台解析,而域名解析和内容载入是串行的网络操作,所以这个方式能减少用户的等待时间,提升用户体验。
以上资料参加以下网址:
http://skyhome.cn/div_css/301.html
http://www.csdn.net/article/2013-05-27/2815444-5-html5-features-you-must-know
http://blog.webfuns.net/archives/1357.html