http2.0 的改进

之前写的http2.0 的总结太过简单,现在理解加深,所以就重写一篇。

HTTP 1.x 的缺点

由于HTTP 1.x不支持多路复用(可以利用HTTP管道,但是不靠谱),每个请求都会创建一个TCP连接。HTTP 2.0 的目的就是通过支持请求与响应的多路复用来减少延迟。那http 2.0 解决的是什么延迟?

enter image description here

  • 如图每次新建tcp连接前都要必须经过三次握手,这会带来一定的延迟,如果可以复用连接就可以省去这些开销 。
    如果用TLS,握手次数就更多,延迟也会更高了
  • 队首(HOL,Head of Line)阻塞
  • DNS查询传输往返带来的延迟。
  • HTTP 1.x 协议负载 太大,不会经过任何压缩

HTTP 1.x的优化很多时候都是通过减少请求来优化,例如图片精灵、js和css拼接成大文件等。

HTTP 2.0 的改变

  • 流、消息和帧
  • 首部压缩
  • 请求优先级
  • 服务器推送
  • 多路复用

HTTP 1.x的瓶颈在于每个请求都新建一个TCP连接和报头信息开销大。HTTP 2.0 最主要利用了复用连接,减少了请求。在此基础上,再一环接一环地优化。

参考资料

【1】《web性能权威指南》

posted @ 2014-11-17 23:32  geekcon.  阅读(368)  评论(0编辑  收藏  举报