我最近一直在研究该主题,到目前为止,我的(理论上)结论如下:
在计算浏览器的实际全球使用量时,截至2018年中的浏览器支持差异可以忽略不计(〜73% vs〜74 %)
dns-prefetch= DNS和preconnect= DNS + TCP + TLS。请注意,DNS查找执行起来非常便宜(对DNS服务器的简单查询响应,在短时间内缓存在浏览器中),而TCP和TLS涉及一些服务器资源。
因此,实际的区别是,如果您确定肯定会发生服务器访preconnect存,那就很好了。如果仅在某些情况下发生这种情况,并且您预计会有大量流量,则preconnect可能会触发许多无用的TCP和TLS工作,并且dns-prefetch可能更适合。
<link rel="preconnect" href="https://a.com/" crossorigin>
<link rel="preconnect" href="https://b.com/" crossorigin>
<link rel="preconnect" href="https://c.com/" crossorigin>
<link rel="dns-prefetch" href="https://a.com/">
<link rel="dns-prefetch" href="https://b/">
<link rel="dns-prefetch" href="https://c/">