Http2的出现背景

15 阅读1分钟

Http2的出现背景

思考一个问题:HTTP1到HTTP2这个进化这个过程是因为什么原因才出现的?它不可能平白无故就出现,它为什么一开始不就直接设计成HTTP2呢?这是什么原因呀?

请思考3分钟。

 

 

 

 

 

 

 

 

 

 

 

 

这个肯定是有这个环境背后的变化的。

原因只有一条:网页本身变了

1996 年的 HTTP/1.0、1999 年的 HTTP/1.1,设计目标都是“文档传输”——一个 HTML、几张图、几行 JS,顺序请求、顺序响应就能满足。

但 2010 年以后,网页变成了“应用”:

  • 一张页面动辄几十张高清图、上百个 CSS/JS 文件、实时数据、视频预览……
  • 浏览器为了并行,不得不开 6~8 个 TCP 连接,每个连接都要三次握手、慢启动、SSL 握手,带宽浪费、延迟高。
  • 队头阻塞让“一个慢请求拖死整页”,头部冗余把 500 字节的 Cookie 每次都重复发,浪费流量。

于是 Google 先做了 SPDY 实验:把 TCP 连接复用到极致,引入二进制分帧、多路复用、头部压缩、服务器推送,实测页面加载速度翻倍。

IETF 把 SPDY 的核心思想标准化,2015 年就成了 HTTP/2。

一句话:网页从“文档”变成“应用”,旧协议的性能瓶颈肉眼可见,才催生了 HTTP/2