Skip to content

HTTP 不同版本的演变

HTTP 1.1 相比 HTTP 1.0 有哪些提升

  1. 使用 TCP长连接 改善了 HTTP 1.0短连接性能开销
  2. 支持管道网络传输,只要一个请求发出去了,不必等待返回结果,就可以发第二个请求。

HTTP2 做了哪些优化

  1. 基于 HTTPS, 安全性更有保障
  2. 头部压缩:如果多个请求有相似的头部,会去除重复部分
  3. 二进制传输:头部和数据都是通过二进制传输,并称为, 增加了传输效率
  4. 多路复用:一个连接并发多个请求或响应,不用按照顺序
  5. 服务器推送:服务器可以主动向客户端发送消息,在浏览器请求 html 时,会提前把可能用到的 JS, CSS 文件主动发送给客户端。

TIP

HTTP/2 主要的问题在于,多个 HTTP 请求在复⽤⼀个 TCP 连接,下层的 TCP 协议是不知道有多少个 HTTP 请求 的。所以⼀旦发⽣了丢包现象,就会触发 TCP 的᯿传机制,这样在⼀个 TCP 连接中的所有的 HTTP 请求都必须等 待这个丢了的包被重传回来。