rel="preconnect"

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

preconnect 关键字用于 <link> 元素的 rel 属性,它会提示浏览器用户可能需要目标资源的来源(origin)提供的资源,因此浏览器可以通过预先建立到该来源的连接来改善用户体验。预连接通过预先完成部分或全部握手(HTTP 的 DNS+TCP,HTTPS 的 DNS+TCP+TLS)来加速从给定来源将来的加载。

<link rel="preconnect"> 将为任何未来的跨域 HTTP 请求、导航或子资源提供好处。它对同源请求没有好处,因为连接已经打开。

如果一个页面需要连接到许多第三方域名,预连接所有这些域名可能会适得其反。<link rel="preconnect"> 提示最好仅用于最关键的连接。对于其他连接,只需使用 <link rel="dns-prefetch"> 来节省第一步——DNS 解析的时间。

示例

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

您也可以将预连接作为 HTTP Link 响应头来实现,例如:

http
Link: <https://example.com>; rel="preconnect"

规范

规范
HTML
# link-type-preconnect

浏览器兼容性

另见

  • 有关 <link rel="preconnect"> 和其他类似性能改进功能的比较,请参阅 推测性加载