如何预连接到必要链接来源?

SinoClick发表于:2023年01月03日 18:06:42更新于:2023年01月03日 18:09:55

概述

预连接是一种资源提示,它告诉浏览器与浏览器尚未确定需要建立的域建立主动HTTP连接。创建HTTP连接需要很多步骤,包括DNS查找、连接TCP、协商安全的TLS连接等,这些步骤需要数十甚至数百毫秒。如果能够提前连接(预连接)到第三方域来交付重要的首屏内容,可以提升页面加载速度。

解决方案

考虑添加 preconnectdns-prefetch 资源提示来建立与重要第三方源的早期连接。

<link rel="preconnect"> 会通知浏览器,您的页面打算与另一个源建立连接,而且您希望该过程尽快开始。

在慢速网络中建立连接通常需要消耗大量时间,尤其是在涉及安全连接时,因为它可能涉及到 DNS 查找、重定向以及用于处理用户请求而与最终服务器的多次往返。

提前处理好所有这些任务可以让用户觉得应用更快,而不会对带宽的使用产生负面影响。建立连接的大部分时间都花在了等待上,而不是用来交换数据。

只要向页面添加链接标签,就可以将您的意图告知浏览器:

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

这样一来,浏览器就知道该页面打算连接到 example.com 并从那里检索内容。

请记住,虽然 <link rel="preconnect"> 消耗不大,但它仍然会占用宝贵的 CPU 时间,尤其是在创建安全连接时。如果在 10 秒内没有使用连接,这种情况尤其糟糕,因为浏览器会关闭它,从而浪费所有早期的连接工作。

通常情况下,请尝试使用 <link rel="preload"> ,因为它提供更全面的性能调整。

<link rel="dns-prefetch"> 是另一个与连接相关的 <link>。它仅负责 DNS 查找,但具有更广泛的浏览器支持,因此可以作为一个很好的后备。它的用法完全相同:

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