今天一个朋友给我说在网页上添加dns-prefetch,网页访问速度能提高,于是我百度查询关于dns-prefetch。

DNS Prefetch,即DNS预获取,是前端优化的一部分。一般来说,在前端优化中与 DNS 有关的有两点: 一个是减少DNS的请求次数,另一个就是进行DNS预获取 。  DNS 作为互联网的基础协议,其解析的速度似乎很容易被网站优化人员忽视。现在大多数新浏览器已经针对DNS解析进行了优化,典型的一次DNS解析需要耗费 20-120 毫秒,减少DNS解析时间和次数是个很好的优化方式。DNS Prefetching 是让具有此属性的域名不需要用户点击链接就在后台解析,而域名解析和内容载入是串行的网络操作,所以这个方式能 减少用户的等待时间,提升用户体验 。

默认情况下浏览器会对页面中和当前域名(正在浏览网页的域名)不在同一个域的域名进行预获取,并且缓存结果,这就是隐式的 DNS Prefetch。如果想对页面中没有出现的域进行预获取,那么就要使用显示的 DNS Prefetch 了。

目前大多数浏览器已经支持此属性,支持版本如下:

  • – Safari: 5+
  • – Chrome: All
  • – Firefox: 3.5+
  • – Opera: Unknown
  • – IE: 9+ (called “Pre-resolution” on blogs.msdn.com)

其中 Chrome 和 Firefox 3.5+ 内置了 DNS Prefetching 技术并对DNS预解析做了相应优化设置。所以 即使不设置此属性,Chrome 和 Firefox 3.5+ 也能自动在后台进行预解析 。

例如以下代码:

<meta http-equiv="X-dns-prefetch-control" content="on" />
<link rel="dns-prefetch" href="//zhimo.yuanzhumuban.cc.cname.yunjiasu-cdn.net">
<link rel="dns-prefetch" href="//yuanzhumuban.cc.cname.yunjiasu-cdn.net">
<link rel="dns-prefetch" href="//zhimo.yuanzhumuban.cc">

  演示地址:http://zhimo.yuanzhumuban.cc/

最新文章

  1. 4-安装workpress
  2. github的使用步骤及体会
  3. Caffe初试(一)win7_64bit+VS2013+Opencv2.4.10+CUDA6.5配置Caffe环境
  4. ORACLE 创建与使用视图
  5. WP8.1 Study4:WP8.1中控件集合应用
  6. 由window.history.back()引发的问题
  7. maven 仓库下载缓慢,怎么解决
  8. ejabberd源码流程梳理
  9. nodejs广播
  10. [cocos2dx笔记008]cocos2d 用luabridge手动绑定类
  11. 【Xilinx-Petalinux学习】-01-开发环境搭建与PetaLinux的安装
  12. More Moore and More than Moore
  13. 企业BGP网络规划案例(一)
  14. 第5-7次OO作业总结分析
  15. Powershell渗透测试系列–进阶篇
  16. SQL0668N 不允许对表&quot;xxx&quot;执行操作,原因码为 &quot;1&quot;
  17. Universal-Image-Loader源码分析(一)——ImageLoaderConfiguration分析
  18. 一本通1623Sherlock and His Girlfriend
  19. go语言之进阶篇接口转换
  20. Android.mk (1) 函数

热门文章

  1. window10 phpstudy2018 mysql服务重启之后自动停止
  2. MySQL必知必会3
  3. 【IDEA使用技巧】(4) —— IDEA 构建Java Maven项目、导入Eclipse项目、多Module Maven项目
  4. 前端开发 ECMAScript-1概述
  5. 并发编程之Disruptor并发框架
  6. 学了python能干什么
  7. cocoaPods升级遇到的问题 升级ruby 升级cocoaPos
  8. css设置全局变量和局部变量
  9. shell 字符串截取表达式
  10. Java中map接口 遍历map