为什么合并文件(合并http请求)之后的性能会变好?

先简单看下HTTP请求的主要过程:DNS解析(T1)-> 建立TCP连接(T2)-> 发送请求(T3)-> 等待服务器返回首字节(TTFB)(T4)-> 接收数据(T5)

从上面请求过程中,可以看出当多个请求时,请求中的DNS解析、建立TCP连接等步骤都会重复执行多遍。那么如果合并N个HTTP请求为1个,理论上则可以节省(N-1)*(T1+T2+T3+T4)的时间。当然实际场景并没有这么理想,比如浏览器会缓存DNS信息,因此不是每次请求都需要DNS解析;

经过研究可以得出结论:当文件体积较小的时候,(网络延迟低的场景下)合并后的文件的加载耗时明显小于加载多个文件的总耗时;

当文件体积较大的时候,合并请求对于加载耗时没有明显的影响,且拆分资源可以提高缓存命中率。但是注意有特殊的场景,由于合并资源后可能导致网络往返次数的增加,当网络延迟很大时,是会增大耗时的(参考 TCP 拥塞控制)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值