预取

预取是指在后台推测性地获取用户很可能在不久的将来导航到的页面的文档或子资源。如果用户确实选择导航到预取的页面,这可以显著减少加载时间。例如,预取可以用于获取“下一页”按钮链接的页面或其子资源,用户悬停的链接弹出窗口,或搜索结果。

资源预取

应根据未来导航中它们可能需要的可能性来预取资源。浏览器可以为某些资源自动推断这一点,例如地址栏中的当前 URL。

这可以通过使用 `<link rel="prefetch">` 来完成(Speculation Rules API 仅处理导航的文档预取)

html
<link rel="prefetch" href="next.html" />

文档预取

开发人员可以通过几种不同的方式向浏览器提供应预取的导航提示

<link rel="prefetch">:

html
<link rel="prefetch" href="next.html" />

Speculation Rules API 预取

html
<script type="speculationrules">
  {
    "prefetch": [
      {
        "source": "list",
        "urls": ["next.html"]
      }
    ]
  }
</script>

Speculation Rules API 比 `` 更好地处理导航的文档预取;前者是专门为此目的设计的,而后者有一些限制;有关详细信息,请参阅 <link rel="prefetch">

DNS 预取

DNS 预取会提前解析域名,通过减少请求时与域名查找相关的时间来加快加载速度。

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

另见