#诞生背景
Dns请求虽然占用了很少的带宽,但会有很高的延迟,由其以移动网络会更加明显。通过dns预解析技术可以很好的降低延迟

在firefox上使用dns-prefetch,dns预解析是与页面加载是并行处理的,且不用影响到页面加载的性能.

在以图片为主移动网站被访问时,在使用DNS预解析的情意中下,页面加载时间可以提升%5个点

一、什么是dns-prefetch?

DNS Prefetch 是一种 DNS 预解析技术。当你浏览网页时,浏览器会在加载网页时对网页中的域名进行解析缓存,这样在你单击当前网页中的连接时就无需进行 DNS 的解析,减少用户等待时间,提高用户体验。
目前每次DNS解析,通常在200ms以下。针对DNS解析耗时问题,一些浏览器通过DNS Prefetch 来提高访问的流畅性。

二、如何设置dns-prefetch?

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

1

2

3

4

<meta http-equiv="x-dns-prefetch-control" content="on">

<link rel="dns-prefetch" href="//www.zhix.net">

<link rel="dns-prefetch" href="//api.share.zhix.net">

<link rel="dns-prefetch" href="//bdimg.share.zhix.net">

<link rel="dns-prefetch" href="http://renpengpeng.com" />
<!--如果不确定是http还是https连接的话建议如下写法 -->
<link rel="dns-prefetch" href="//renpengpeng.com" />

三、DNS Prefetching预解析实现原理与注意事项

1.<meta>信息告诉浏览器,当前页面要做DNS预解析;

<meta http-equiv="x-dns-prefetch-control" content="on" />

2.</head>使用<link>标签来强制对DNS预解析;

<link rel="dns-prefetch" href="http://bdimg.share.baidu.com" />

3.dns-prefetch需慎用,多页面重复DNS预解析会增加重复DNS查询次数;

4.浏览器对网站第一次的域名DNS解析查找流程:

浏览器缓存 -> 系统缓存 -> 路由器缓存 -> ISP -> DNS缓存 -> 递归搜素

5.如果要禁止隐式的DNS Prefetch,可以使用以下标签

<meta http-equiv="x-dns-prefetch-control" content="off">

四、典型案例;

淘宝:

支付宝:

网易:

注意;

虽然使用 DNS Prefetch 能够加快页面的解析速度,但是也不能滥用,因为有开发者指出 禁用DNS 预读取能节省每月100亿的DNS查询

DNS预解析dns-prefetch是什么及怎么使用相关推荐

  1. 性能优化(1)-DNS预解析

    DNS预解析 原理 如何使用 打开和关闭DNS预解析 自动解析 手动添加解析 在浏览器中设置 看看淘宝的DNS预解析 使用场景 如何更好的使用? 对哪些资源做手动prefetch 域名发散和域名收敛 ...

  2. 前端性能优化:DNS 预解析

    DNS 预解析 DNS 解析也是需要时间的,可以通过预解析的方式来预先获得域名所对应的 IP <link rel="dns-prefetch" href="//bl ...

  3. DNS预解析prefetch

    概述 DNS(Domain Name System, 域名系统),是域名和IP地址相互映射的一个分布式数据库.DNS 查询就是将域名转换成 IP 的过程,这个过程短的话 2ms 几乎无感,长则可能达到 ...

  4. dns-prefetch—DNS预解析技术

    今天在看一个网站的源代码时 发现了 <link rel="dns-prefetch" href="//static.tuweia.cn/"> 对dn ...

  5. 前端优化之DNS预解析

    前端优化系列之一:DNS预获取 dns-prefetch 提升页面载入速度 DNS Prefetch,即DNS预获取,是前端优化的一部分.一般来说,在前端优化中与 DNS 有关的有两点: 一个是减少D ...

  6. [html] html哪个标签属性可以通过预解析DNS?

    [html] html哪个标签属性可以通过预解析DNS? 1.<meta http-equiv="x-dns-prefetch-control" content=" ...

  7. Dns-prefetch DNS 预解析优化页面加载速度

    Dns-prefetch DNS 预解析优化页面加载速度 浏览器访问一个链接时并不是直接将请求到网页对应的服务器上,而是先要做域名解析--将域名解析到网页对应的服务器 ip 地址,然后浏览器才能和服务 ...

  8. HTTP 请求之性能优化:DNS预解析 dns-prefetch

    HTTP 请求之性能优化:DNS预解析 dns-prefetch 当浏览器从第三方服务跨域请求资源的时候,在浏览器发起请求之前,这个第三方的跨域域名需要被解析为一个IP地址,这个过程就是DNS解析,D ...

  9. 网站性能优化之DNS预解析

    为何预解析能提高网站性能,不添加预解析网站性能差在哪里? 域名与IP 在访问网站的时候,我们都是通过输入域名进行访问,但是资源是存放在服务器上的,访问资源的唯一方式就是通过IP访问获取.域名是一个IP ...

最新文章

  1. linux高端内存申请,Linux高端内存
  2. 计算机组成原理第04章在线测试,计算机组成原理第四章单元测试(二)(含答案).docx...
  3. SyntaxError: Non-ASCII character '\xe9' in file...ubuntu系统下python运行时提示编码格式不正确以及提示No module named xxx
  4. 全球44家机构,55位大佬,历时两年,打造最强NLG评测基准!
  5. Python折半查找(二分查找)
  6. GL中如何让画的点为圆形
  7. Echarts数据可视化dataZoom,开发全解+完美注释
  8. .net人员用Java 之Java EE
  9. 金蝶K3常用数据表(整理)
  10. 虚拟内存与物理内存与内存碎片-杂谈
  11. 低价云 主机虚拟云服务器,低价云 主机虚拟云服务器
  12. Android Studio第六课:模仿QQ登录跳转
  13. srt字幕怎么导入视频 (视频字幕合并教程)
  14. C#_CRC-16/CCITT-FALSE计算加判断
  15. 安装2017su提示c++2014不能安装问题解决办法
  16. 女朋友生病了要你去照顾,这时候你刚开了一把王者荣耀排位晋级赛,你选什么?
  17. 经过前面几天的学习已经初步了解到了Java 今天开始学习Java的 对象与类
  18. XStream分析(2)
  19. 【LeetCode】1652. 拆炸弹(C++)
  20. 2022年年终总结---新方向,新期待

热门文章

  1. Android 错误总结
  2. CGB2103-day16-17
  3. 手机QQ怎样破解闪照
  4. 程序员假期在家中身亡,凌晨发朋友圈劝告大家:身体第一,身体是革命的本钱!...
  5. 世界上只有两种黑客:俄罗斯黑客和普通黑客
  6. 《新学期,新FLAG》——如梦初醒
  7. docker 批量删除images
  8. Python技能树及Markdown编辑器的测评
  9. 身份证阅读器(新中新)写入受保护内存问题,已解决
  10. java百度身份证识别