Resource Hints 是通过 link 标签提示浏览器预处理资源的技术,包括 dns-prefetch(DNS预解析)、preconnect(预连接)、prefetch(预获取)和 preload(关键资源预加载),合理使用可显著提升页面加载性能。

页面预加载能显著提升用户体验,尤其是在资源较多或网络较慢的情况下。HTML5 中的 Resource Hints 是一组浏览器提示机制,帮助开发者提前告知浏览器未来可能需要的资源,从而优化加载性能。
什么是 Resource Hints?
Resource Hints 是一组通过 标签实现的提示指令,告诉浏览器提前准备某些外部资源。它们不会强制加载资源,而是建议浏览器根据网络状况和优先级进行预处理。主要类型包括:dns-prefetch、preconnect、prefetch 和 preload。
1. dns-prefetch:DNS 预解析
用于提前解析外部域名的 DNS,减少后续请求的延迟。
适合在页面中引用了第三方资源(如 CDN、字体、广告等)时使用。例如:
立即学习“前端免费学习笔记(深入)”;
googleapis.com">cdnjs.cloudflare.com">
2. preconnect:预连接
比 dns-prefetch 更进一步,不仅解析 DNS,还建立 TCP 连接,甚至完成 TLS 握手。
适用于确定要访问的跨域服务器,比如 API 接口或字体服务。注意不要滥用,避免建立过多连接影响性能。
3. prefetch:资源预获取
提示浏览器在空闲时预先加载用户**可能访问的下一个页面**的资源(如 HTML、JS、CSS),常用于预测导航路径。
html">也可以预加载关键静态资源:
ain.js">浏览器通常在页面加载完成后利用空闲时间下载这些资源。
4. preload:关键资源预加载
用于强制提前加载当前页面所需的**高优先级资源**,如字体、关键 CSS/JS、图片等,防止阻塞渲染。
常见用法:
- css" as="style"> —— 预加载关键 CSS
- —— 预加载首屏大图
- app.js" as="script"> —— 预加载核心 JS
注意:as 属性必须正确设置,以便浏览器按类型合理调度优先级。
使用建议与注意事项
合理使用 Resource Hints 可提升性能,但过度使用反而会浪费带宽和连接资源。
- 优先为跨域第三方资源添加 preconnect 或 dns-prefetch
- 对首屏关键资源使用 preload,避免页面卡顿
- 对后续页面资源使用 prefetch,提升跳转速度
- 确保 preload 的资源一定会被使用,否则造成浪费
- 字体预加载需加 crossorigin 属性,避免重复请求
基本上就这些。掌握好 Resource Hints 的使用时机和场景,能让页面加载更流畅,尤其在移动端弱网环境下效果明显。











