Web 技术研究所

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

SPDY vs HTTP2

  现在很多浏览器都已经同时支持 SPDY 和 HTTP2 了,然而 SPDY 和 HTTP2 到底有多大差异呢?理论上它俩的差异很大,HTTP2 应该比 SPDY 略快才对。但实际测试下来实际上 SPDY 和 HTTP2 几乎是差不多的。其实我们不必纠结该用谁,让服务器两者都支持不就得了?
  在规范中 SPDY 是 https Only 的,而 HTTP2 则没有限制。但实际上目前所有支持 HTTP2 的浏览器也同样是 https Only 的,也就是说普通的 http 同样无法使用 HTTP2。所以拿 https+SPDY 和 HTTP2 做比较是不正确的。它们都必须是 https,然后才是 SPDY 和 HTTP2 的比较。
  即便 HTTP2 在普通的 http 上不能用,理论上它也是比 SPDY 优越的。比如 HTTP2 的头比 SPDY 小

  上面这个测试结果比较夸张,因为我使用的是 0 字节的内容,所以差异非常大。HTTP2 的传输头并不是比 SPDY 大一倍(虽然上面的测试看似如此),其实只是比它小一个常数字节而已(大约 80 字节)。这点差异对性能几乎不会有影响,是可以忽觉的。
  即使请求数很多也不会有什么差异,以下测试结果都数误差范围内的:

  我的结论是,SPDY 和 HTTP2 的性能几乎没有差别。但是从性能之外的方面来看,目前 SPDY 的兼容性更好。SPDY 从 Android 3 就开始支持,iOS 从 8 开始支持。而 HTTP2 则是 Android 全挂,iOS 9.2 才开始支持。好在 SPDY 和 HTTP2 是不冲突的,可以同时开启。所以只要全都开启就 OK 了,没啥好纠结的。比如我们检测一下 www.web-tinker.com 的支持状态:
网名:
54.211.148.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^