全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-17 6 分钟 ✍️ juanwangdev

HTML 预加载与预连接优化

浏览器提供多种资源提示,提前准备关键资源,减少加载等待时间。

预连接 (preconnect)

提前建立 TCP 连接、SSL 握手,减少 DNS 查询和连接建立时间。

HTML
<!-- 预连接到关键域名 -->
<link rel="preconnect" href="https://cdn.example.com">
<link rel="preconnect" href="https://api.example.com" crossorigin>

适用场景

  • 关键 CDN 域名
  • API 接口域名
  • 第三方认证服务

DNS 预解析 (dns-prefetch)

仅提前解析 DNS,开销比 preconnect 小。

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

预加载 (preload)

强制浏览器提前加载当前页面必需的关键资源。

HTML
<!-- 预加载关键 CSS -->
<link rel="preload" href="styles/critical.css" as="style">

<!-- 预加载关键字体 -->
<link rel="preload" href="fonts/roboto.woff2" as="font" type="font/woff2" crossorigin>

<!-- 预加载关键脚本 -->
<link rel="preload" href="js/app.js" as="script">

<!-- 预加载关键图片 -->
<link rel="preload" href="images/hero.webp" as="image">

as 属性值

as 值资源类型
styleCSS 样式表
scriptJavaScript
font字体文件
image图片
fetchfetch/XHR 请求

预取 (prefetch)

预取未来可能需要的资源,优先级低于 preload。

HTML
<!-- 预取下一页资源 -->
<link rel="prefetch" href="next-page.html">
<link rel="prefetch" href="js/next-page.js" as="script">

对比总结

类型作用优先级使用场景
preconnect建立连接最高关键第三方域名
dns-prefetchDNS 解析非关键域名
preload加载资源当前页必需资源
prefetch预取资源下一页可能资源

注意事项

preconnect 数量控制在 3-4 个以内,过多浪费连接资源。

preload 必须指定正确的 as 属性,否则无法正确优先级。

字体 preload 必须添加 crossorigin 属性,否则重复请求。

预加载的资源必须会被使用,否则浪费带宽。

要点总结

  • preconnect 用于关键域名连接预热
  • dns-prefetch 用于非关键域名 DNS 解析
  • preload 用于当前页必需资源
  • prefetch 用于预取未来页面资源
  • 控制预连接数量,避免资源浪费

📝 发现内容有误?点击此处直接编辑

← 上一篇 HTML 异步加载资源优化
下一篇 → HTML5 视频标签与属性
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库