Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

静态资源 http vs http2

  在我的印象中 http2 一直都比 http 快得多,而且解决了共用连接的问题。对于大量服务器响应缓慢的资源,http2 确实是非常有优势的,这在先前的文章中有写过一个很极端的测试「普通 http 与 spdy 的加载差异」。 但如果完全是静态资源不用考虑响应时间呢?
  首先,我有两个页面 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 优秀的!
网名:
54.156.92.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^