预取

预取,也称为 DNS 预取,是一种 Web 性能优化技术,涉及在用户实际点击链接或请求网站之前将网站的域名解析为其对应的 IP 地址。这种主动解析是在预测用户操作的情况下进行的,目的是减少与 DNS(域名系统)解析相关的延迟。

DNS 解析是将人类可读的域名(例如“example.com”)转换为机器可读的 IP 地址(例如“192.0.2.1”)的过程。浏览器必须进行此转换才能连接到托管网站的服务器。但是,DNS 解析可能会造成延迟,因为浏览器必须查询 DNS 服务器 以获取 IP 地址,然后才能启动与网站的连接。这种延迟可能会使网站的页面加载时间增加几秒钟,尤其是在 DNS 服务器响应缓慢或需要多次 DNS 查找的情况下。

通过预取 DNS 信息,浏览器可以在用户查看当前页面时提前执行 DNS 解析。这意味着当用户点击链接或发起新请求时,浏览器已经拥有可用的 IP 地址,从而无需进行实时 DNS 查找,从而减少了加载新页面所需的总体时间。

网站开发人员可以使用 HTML 标签或 HTTP 标头来实现预取,指示浏览器提前解析特定域名。浏览器还可以根据预测用户可能点击哪些链接的启发式方法,自动预取视口中可见链接的 DNS 信息。

虽然预取可以通过减少 延迟 来提高性能,但它也有潜在的缺点,例如消耗额外的网络资源,并且可能通过解析用户最终可能不会访问的域来影响隐私。因此,应谨慎使用预取,并考虑网站及其用户的特定需求和环境。