DNS预解析仅提前解析域名,开销小、不占连接数,适用于可能使用的跨域域名;预连接则完成DNS+TCP+TLS全过程,适合1–2秒内必用的关键跨域资源,二者不可混用同一域名,且必须置于head靠前位置、格式严格合规。

加载速度优化中,DNS预解析和TCP连接复用是两个见效快、实施成本低的关键手段。它们分别解决“域名转IP”和“建立通信通道”这两个网络请求最前端的耗时环节,对首屏时间(FCP)和可交互时间(TTI)有直接改善。
DNS预解析:让域名查询不拖后腿
DNS查询看似只花几十毫秒,但首次访问时若多个资源分散在不同域名(如CDN、API、统计服务),每个多一次查询就多一次等待,还可能阻塞DOM解析。预解析的核心逻辑是“提前查好,用时即得”。
- 在HTML的<head>里添加<link rel="dns-prefetch" href="//cdn.example.com">,浏览器会在空闲时异步发起DNS查询并缓存结果(Chrome默认缓存1分钟)
- 只对跨域域名有效,同域无需额外声明;建议控制在3–5个以内,优先覆盖CDN、核心API、第三方埋点等必加载域名
- 配合Chrome设置中的“预加载页面以加快浏览速度”开启,能进一步触发自动预解析与TCP预连接(需注意该功能默认仅在Wi-Fi下启用)
TCP连接复用:减少握手开销
TCP三次握手本身就要至少一个RTT(往返时延),在弱网或高延迟环境下可能达200ms以上。复用已有连接,就能跳过这一步。
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
- HTTP/1.1默认开启Connection: keep-alive,只要服务器支持且未主动关闭,同一个域名下的后续请求可复用TCP连接
- 避免域名碎片化:把静态资源尽量收敛到1–2个CDN域名,比分散到5个子域名更利于复用(尤其在HTTP/1.1下)
- 升级到HTTP/2或HTTP/3:天然支持多路复用,单个TCP(或QUIC)连接可并发处理多个请求,彻底规避连接数限制与队头阻塞
组合使用效果更明显
单独做DNS预解析或连接复用都有收益,但两者叠加才能释放最大效能。例如:预解析CDN域名后,再通过preconnect提前建立TCP+TLS连接(),相当于把“查IP→建连→握手→加密协商”全链路前置完成,资源真正需要时可立即发HTTP请求。
实际项目中,这两项加起来常能降低100–400ms的首字节时间(TTFB),尤其对移动端和新用户访问提升显著。

















