HTTP2的改进

HTTP 1.1存在的问题

  • 线头阻塞: TCP连接只能发送一个请求,前面的请求未完成前,后续的请求都在排队等待
  • 为了加快速度,过度依赖多个TCP连接并发请求,但是建立连接成本高
  • 头部冗余,每次请求携带相同的请求头,并且格式为文本格式
  • 只能客户端主动请求、服务端被动给与响应,不能服务端主动推送数据

HTTP 2的新特性

  • 新的二进制格式,HTTP 2采用二进制分帧,头信息和数据信息分别放在头帧和数据帧中,方便且健壮
  • 多路复用,即连接共享。每个请求对应一个id,这样一个连接上可以有多个请求数据随机的混杂在一起,接收方可以根据id再归属到不同的请求里去
  • header压缩,HTTP 2会减小传输的header大小,通讯双方各自缓存一份header fields列表,通过发送索引号提高速度,避免重复传输
  • 服务端推送,HTTP 2具有server push功能,能够将一些资源主动推送到客户端

你可能感兴趣的:(HTTP2的改进)