关于DNS Prefetch
DNS Prefetch是一种DNS预解析技术,也是前端优化的一部分。当我们在浏览网页时,浏览器会在加载网页时,对网页中的域名进行解析缓存,这样在我们点击当前网页中的连接时就无需进行 DNS 的解析,减少用户等待时间,提高用户体验。
设置方式:
如果要浏览器端对特定的域名进行解析,通过以下两种方式实现:
1、通过 link 标签实现,例如:< link rel="dns-prefetch" href="http://demo.com" />
2、通过 meta 标签实现,例如:< meta http-equiv="x-dns-prefetch-control" content="on" />
3、通过设置 Http header 的 x-dns-prefetch-control 属性为 on 进行控制。
ps:这段代码应尽量写在网页的前部,起到减少dns请求的功能。
浏览器支持
- Firefox: 3.5+
- Chrome: Supported
- Safari 5+
- IE: 9
默认情况下,浏览器会对页面中和当前域名不在同一域的域名进行预获取,并缓存结果,这是隐式的DNS Prefetch。如果想对页面中没有出现的域名进行预获取,那么需要使用显示的DNS Prefetch,即使用link标签。
可通过设置<meta http-equiv=”x-dns-prefetch-control” content=”off”>来禁止隐式的DNS Prefetch。