DNS预解析

预解析的意义

DNS解析时间可能导致大量用户感知延迟,DNS解析所需的时间差异非常大,延迟范围可以从1ms(本地缓存结果)到普遍的几秒钟时间。所以利用DNS预解析是有意义的。

DNS解析查找流程

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

DNS预解析定义

DNS Prefetch,即DNS预解析就是根据浏览器定义的规则,提前解析之后可能会用到的域名,使解析结果缓存到系统缓存中,缩短DNS解析时间,来提高网站的访问速度。

开启自动解析

浏览器使用超链接的href属性来查找要预解析的主机名。当遇到a标签,浏览器会自动将href中的域名解析为IP地址,这个解析过程是与用户浏览网页并行处理的。但是为了确保安全性,在HTTPS页面中不会自动解析。用以下语句后,开启HTTPS页面开启自动解析功能。

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

开启手动解析

<link rel="dns-prefetch" href="//img.alicdn.com">

使用场景

页面中的静态资源在不同的domain下(大量引用很多其他域名资源的网站),如CSS、JS、图片等文件

浏览器内置的功能

浏览器底层缓存进行了建模,当Chrome浏览器启动的时候,就会自动的快速解析浏览器最近一次启动时记录的前10个域名。所以经常访问的网址就没有DNS解析的延迟,打开速度更快

猜你喜欢

转载自blog.csdn.net/weixin_41900808/article/details/88380143