什么<链路相对= DNS预取>以及何时使用PRECONNECT

DNS预取资源提示旨在查找域名之前,浏览器将知道,否则,他们会在不久的将来需要。这是一个快速的方法来加快外部页面资源加载。

DNS预取是这样一个简单的性能优化,使的是它已经包括在五分之一的网站。多达一个在顶部500 000网站五部署DNS预取。诚然,这个数字的很大一部分来自于WordPress的默认值。(从HTTPS网站中的一个抓取图Tranco名单。)

我会通过讨论该机制如何工作以及它是如何普遍误启动。然后我会继续前进,讨论PRECONNECT资源-暗示,然后讨论浏览器的支持。

下面的示yabo亚博体育下载例指示web浏览器来解决一个例子域名,并将其存储在其高速缓存:

<链路的rel = “DNS预取的” href = “// example.net /”>

这都没有区别如果使用相对协议URL(如上所示),或绝对URL。浏览器通过解析URL提取域名。

不同的网络浏览器和操作系统有不同的DNS缓存策略。我们可以假设,一个解析的域名将保持在平均网页浏览器至少一分钟缓存。

DNS缓存在浏览器,操作系统,您的边缘网关(“路由器”),并通过你的上游递归DNS解析器(通常是你的ISP)。这很容易弄不清你的性能测试结果,除非你用不同的域名,每次测试。

那么,哪些域名,应预先解决?网上有很多教程推荐解决所有的外部样式表,脚本,框架和包含在文档中的图像的域名。这是不必要的。

浏览器经过文档作为他们加载并开始解析域名,并建立的所有连接,他们的文档扫描仪预紧找到的域。这包括网址IFRAMEIMG链接脚本以及其它这样的元件。

DNS预取的,但是,对于域名有用的浏览器的预处理器不可能知道当时它开始呈现文档。由一个框架,脚本或样式表需要任何外部资源是总理候选人。

例如,广告网络可以嵌入在网页中的