火次果
火次果

暂无菜单项

首页/文章/技术文章/web前端/HTML5/
打开 MD 链接

preconnect:提前握手省下几百毫秒

发布于 1天前
2

🔌 页面要连 CDN、字体、接口三个域,首屏明显慢。在 head 里加几条 <link rel="preconnect">,加载快了一截。

preconnect 提前把三件事做了:DNS 解析、TCP 握手、TLS 协商。等真正发请求时,这些准备工作已完成,省下往返时间。

网络连接示意
提前建连,请求发出去就少等

写法:

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

⚠️ 别贪多。每个预连接都占一条连接资源,只给关键第三方域。和 dns-prefetch 比,preconnect 多做 TCP 和 TLS,代价也更大。跨域带凭据的资源记得加 crossorigin,否则浏览器会再握一次。

其余优化,预连接配合 preload 用,关键资源路径更短。

常见问题(FAQ)

preconnect 做什么
提前完成 DNS 解析、TCP 握手、TLS 协商,真正请求时少等这几步,降低首请求延迟。
和 dns-prefetch 区别
dns-prefetch 只解析域名;preconnect 在解析之外还做 TCP 与 TLS 握手,收益更大代价也更高。
能加很多吗
不宜过多,每个预连接消耗一条连接资源,只给真正关键的第三方域。
跨域资源要 crossorigin 吗
带凭据的跨域资源要加 crossorigin,否则浏览器会为实际请求再握一次手,白做。
加了没变快
可能目标域本身很快或已缓存命中,预连接收益取决于网络距离与握手开销,并非总能感知。
DNS预连接preconnect握手优化资源预连接首屏提速
支持作者
如果这篇内容对你有帮助,可以请作者喝杯咖啡
0 点赞
0 收藏
分享
0 讨论
反馈
0 / 600
细中粗
0 讨论
热门最新
总结
暂无总结
嗨,下午好!
所有的成功,都源自一个勇敢的开始
创作
社区
购物
会员
近期热门

暂无数据

火次果
火次果
首页
资迅中心
小店
AI导航
社区
所有的成功,都源自一个勇敢的开始
不辜负每一个勇敢的开始
关于FAQ协议
火次果 © 2026鲁ICP备2025164830号-1