静态资源下 http1.1和http2比较

吐槽君 分类:实例代码

在通常的印象中,http2速度更好,而且解决了共用连接的问题。

对于大量服务器响应缓慢的资源,http2 确实是非常有优势的。

但如果完全是静态资源不用考虑响应时间呢,下面就来做一下介绍。

首先,我有两个页面 test1.html 和 test2.html,前者在页面上发起一大坨请求,后者请求的是这一大坨资源打包后的一个资源。然后我们在 http 和 http2 上都测一测?下面两张图分别是 test1.html 和 test2.html 上的测试,前面 http2,后面是 http1.1。

前端教程

前端教程

上面的测试可以得到两个结论。首先是对于静态资源它们的加载速度是差不多的,因为在正常的网络环境中静态资源加载的瓶颈不是连接数,而是带宽。然后另一个结论是,对静态资源合并打包在 http2 上依然效果显著。

  上面的测试是模拟 3G 网络的 750kb/s 100ms RTT 的。如果我们修改一下网络环境会怎么样呢?比如在一个网速很快,但延迟很高,甚至有掉包的网络环境(比如铁通那只能看视频不能玩游戏的网络),大概是 2048kb/s 2s RTT。然后再做测试:

前端教程

由于延迟太高,所以交互行为需要花费比较长的时间。http2 由于所有请求同步,所以不会受影响。但是 http/1.1 上由于受连接数限制,所以请求是一波一波发出的。

  我们也许对 http2 太过于神化,其实它只是解决一些比较极端的问题。但是无论如何,它确实是比 http/1.1 优秀。

静态资源下 http1.1和http2比较,这样的场景在实际项目中还是用的比较多的,关于静态资源下 http1.1和http2比较就介绍到这了。

静态资源下 http1.1和http2比较属于前端实例代码,有关更多实例代码大家可以查看

回复

我来回复
  • 暂无回复内容