天天积累一点点,你会与别人不同哦

跟你们分享一个小知识点,本身也总结总结,fight 、fight 、fight !!!前端

前端优化系列之一:DNS预获取 dns-prefetch 提高页面载入速度git

DNS Prefetch,即DNS预获取,是前端优化的一部分。通常来讲,在前端优化中与 DNS 有关的有两点: 一减小DNS的请求次数,二就是进行DNS预获取 。

DNS(Domain Name System,域名系统),万维网上做为域名和IP地址相互映射的一个分布式数据库,可以使用户更方便的访问互联网,而不用去记住可以被机器直接读取的IP数串。经过域名,最终获得该域名对应的IP地址的过程叫作域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。 ------引自《百度百科》github

DNS 请求须要的带宽很是小,可是延迟却有点高,这点在手机网络上特别明显。预读取 DNS 能让延迟明显减小一些。
     而DNS Prefetching 是让具备此属性的域名不须要用户点击连接就在后台解析,而域名解析和内容载入是串行的网络操做,因此这个方式能    减小用户的等待时间,提高用户体验。
  • 默认状况下浏览器会对页面中和当前域名(正在浏览网页的域名)不在同一个域的域名进行预获取,而且缓存结果,这就是隐式的 DNS
    Prefetch。若是想对页面中没有出现的域进行预获取,那么就要使用显示的 DNS Prefetch 了。

例如京东:

图片描述


DNS Prefetch 应该尽可能的放在网页的前面,推荐放在 <meta charset="UTF-8"> 后面。具体使用方法以下:数据库

<meta http-equiv="x-dns-prefetch-control" content="on">
 <link rel="dns-prefetch" href="https://github.com/wangruifangWEB">

注意:虽然使用 DNS Prefetch 可以加快页面的解析速度,可是要视状况而用哦,由于有人指出 禁用DNS 预读取能节省每个月100亿的DNS查询 。浏览器

若是须要禁止隐式的 DNS Prefetch,可使用如下的标签:

<meta http-equiv="x-dns-prefetch-control" content="off">
相关文章
相关标签/搜索