关于dns预解析

DNS 实现域名到IP的映射。通过域名访问站点,每次请求都要做DNS解析。目前每次DNS解析,通常在200ms以下。针对DNS解析耗时问题,一些浏览器通过DNS Prefetch 来提高访问的流畅性。 

什么是 DNS Prefetch ? 

DNS Prefetch 是一种DNS 预解析技术,当你浏览网页时,浏览器会在加载网页时对网页中的域名进行解析缓存,这样在你单击当前网页中的连接时就无需进行DNS的解析,减少用户等待时间,提高用户体验。 

目前支持 DNS Prefetch 的浏览器有 google chrome 和 firefox 3.5 

那么在服务端如何控制浏览器端对域名进行预解析那? 

如果要浏览器端对特定的域名进行解析,可以再页面中添加link标签实现。例如: <link rel="dns-prefetch" href="www.ytuwlg.iteye.com" /> 

如果要控制浏览器端是否对域名进行预解析,可以通过Http header 的x-dns-prefetch-control 属性进行控制

<meta http-equiv="x-dns-prefetch-control" content="on" />
<link rel="dns-prefetch" href="http://bdimg.share.baidu.com" />
<link rel="dns-prefetch" href="http://nsclick.baidu.com" />
<link rel="dns-prefetch" href="http://hm.baidu.com" />
<link rel="dns-prefetch" href="http://eiv.baidu.com" />
典型的一次DNS解析耗费20-120 毫秒,减少DNS解析时间和次数是个很好的优化方式。DNS Prefetching是具有此属性的域名不需要用户点击链接就在后台解析,而域名解析和内容载入是串行的网络操作,所以这个方式能减少用户的等待时间,提升用户体验
参考文章:百度泛用户体验-浏览器的加载与页面性能优化 http://www.baiduux.com/blog/2011/02/15/browser-loading/
posted @ 2017-02-27 20:05  小爱想偷懒  阅读(1017)  评论(0编辑  收藏  举报