什么是 DNS Prefetch ?
DNS Prefetch 是一种 DNS 预解析技术。当你浏览网页时,浏览器会在加载网页时对网页中的域名进行解析缓存,这样在你单击当前网页中的连接时就无需进行 DNS 的解析,减少用户等待时间,提高用户体验。
目前每次DNS解析,通常在200ms以下。针对DNS解析耗时问题,一些浏览器通过DNS Prefetch 来提高访问的流畅性。
设置方式
如果要浏览器端对特定的域名进行解析,通过以下两种方式实现:
1、通过 link 标签实现,例如:< link rel="dns-prefetch" href="http://api.twitter.com" />
2、通过 meta 标签实现,例如:< meta http-equiv="x-dns-prefetch-control" content="on" />
3、通过设置 Http header 的 x-dns-prefetch-control 属性为 on 进行控制。
这段代码应尽量写在网页的前部,起到减少dns请求的功能。
浏览器支持
- Firefox: 3.5+
- Chrome: Supported
- Safari 5+
- IE: 9
关于google chrome 中 DNS Prefetch
详细资料可参见: http://dev.chromium.org/developers/design-documents/dns-prefetching,在chrome 中可通过在地址栏中输入 about:histograms/DNS.PrefetchFoundName 和 about:dns 来查看当前浏览器的预解析数据。
参考资料
https://github.com/h5bp/html5-boilerplate/wiki/DNS-Prefetching |