相对或绝对协议会影响 dns 预取性能吗?

Does relative or absolute protocol affect dns prefetch performance?

我的站点使用相关协议加载外部 javascript,即

<script type="text/javascript" src="//somewhere.com/script.js"></script>

(注意:脚本标签在页面加载后异步注入以获取脚本。

但我的 dns-prefetch 标签是绝对协议,即

<link rel="dns-prefetch" href="http://somewhere.com/script.js">

因此,当网站通过 HTTPS 加载时,预取为 http,脚本为 https。 Chrome 控制台中没有关于此的警告。

除了保持这些一致之外,将 dns 预取 link 更改为相关协议是否有任何性能优势?

我的一个想法是,因为所有 dns 预取都是从主机名解析 IP,所以在预取中使用 http 以避免需要进行 SSL 握手实际上可能是有益的。但这假设 dns-prefetch link 指示浏览器发出网络请求,我不确定发生了什么。

以下三行,当浏览器支持时,执行相同的操作:

<link rel="dns-prefetch" href="http://SERVERNAME/some.script.js">

<link rel="dns-prefetch" href="https://SERVERNAME/some.script.js">

<link rel="dns-prefetch" href="//SERVERNAME/some.script.js">

他们都尝试从 DNS 解析器请求 A 和 AAAA 资源记录,如果此类信息尚未存在于浏览器名称服务缓存中的话。

因此,性能相同。