对来自同一域的http和https资源使用rel = preconnect

时间:2016-11-17 12:04:15

标签: html pagespeed web-performance

我目前正在开展一个网络项目,正在寻找有关预先连接到子资源的域的建议。

我的假设是理想情况下,应使用相同的协议从域中提供所有子资源,从而节省到服务器的往返。但是,在我正在使用的代码的某些区域中,某些资源通过http加载,而在其他区域中,资源通过https加载。

出于这个问题的目的,请想象我无法访问代码的某些部分。

为了获得预连接的好处,(从现在开始到与其他人联系以使用相同的路线),最好包括:

<link rel="preconnect" href="http://www.example.com" />
<link rel="preconnect" href="https://www.example.com" />

或使用以下协议相对URL:

<link rel="preconnect" href="//www.example.com" />

1 个答案:

答案 0 :(得分:2)

您需要预先连接两个协议,因为浏览器将它们视为两个不同的域:

<link rel="preconnect" href="http://www.example.com" />
<link rel="preconnect" href="https://www.example.com" />

如果您想要更进一步,我还建议您使用dns-prefetch,用于目前无法处理preconnect的浏览器。所以它看起来像:

<link rel="preconnect" href="http://www.example.com" />
<link rel="dns-prefetch" href="http://www.example.com" />
<link rel="preconnect" href="https://www.example.com" />
<link rel="dns-prefetch" href="https://www.example.com" />