pc端适合域名发散以提升并发下载能力,移动端更推荐域名收敛以降低dns解析延迟;二者需依终端、网络与资源特征权衡选择,http/2+环境下收敛更具优势。

加载速度可以通过调整域名策略来平衡浏览器并发能力和DNS解析开销,核心在于:**PC端适合域名发散,移动端更推荐域名收敛**。这不是非此即彼的选择,而是根据设备、网络环境和资源类型做的针对性优化。
域名发散:提升PC端并发下载能力
现代浏览器对同一域名的并发HTTP/1.1请求数普遍限制在6个左右。当页面需加载大量静态资源(如图片、JS、CSS),若全放在一个域名下,后继请求只能排队等待。
发散做法是把资源分散到2–4个子域名下,例如:
- static1.example.com → 存放图片
- static2.example.com → 存放JS/CSS
- cdn.example.com → 接入CDN加速
这样每个子域名都拥有独立的6路并发通道,理论最大并发数可翻倍。但要注意:过多子域会增加DNS查询次数、TCP连接开销,且SSL握手、缓存隔离也会带来额外成本。实际建议控制在2–4个以内。
域名收敛:降低移动端DNS解析延迟
在手机端,DNS解析耗时远高于PC——弱网下常达数百毫秒甚至1–2秒。每次新域名都要走完整解析流程(本地缓存→ISP DNS→根域名服务器→权威DNS),而解析结果缓存时间有限(TTL通常几分钟到几小时)。
收敛就是把所有静态资源归到**同一个主域名或1–2个子域名下**,例如统一使用 res.example.com。好处包括:
- 首次解析后,后续同域名请求直接复用IP,跳过DNS环节
- 复用已有TCP连接(尤其开启keep-alive后)
- 减少SSL会话复用建立开销(TLS session resumption更稳定)
- 避免因多域名导致的Cookie冗余传输或缓存碎片化
支付宝小程序强制要求收敛,正是基于移动端真实网络环境的权衡结果。
如何判断该用哪个?看三个关键因素
不用凭经验猜,可依据以下维度快速决策:
- 目标用户终端:纯H5活动页面向PC用户 → 可发散;小程序、App内嵌WebView、WAP站 → 优先收敛
- 网络类型:Wi-Fi环境较稳定,发散收益明显;4G/5G弱信号或高丢包率下,DNS失败率上升,收敛更稳妥
- 资源数量与大小:首屏资源少于10个且总大小<300KB → 收敛足够;首屏含20+图片+多个JS包 → 可考虑轻量发散(如1个CDN域名 + 1个主域)
进阶建议:不只二选一,还可分层混合
真实项目中,常采用“主收敛+局部发散”策略:
- 核心HTML、首屏JS/CSS、关键接口域名全部收敛到 app.example.com
- 非首屏大图、视频、字体等资源走独立CDN域名(如 media.cdn.example.com),并确保该CDN已预热、DNS已预解析
- 利用 dns-prefetch 提前解析关键域名:
<link rel="dns-prefetch" href="//media.cdn.example.com"> - HTTP/2 或 HTTP/3 环境下,并发限制基本失效,此时发散收益大幅下降,收敛更利于连接复用和头部压缩











