http2.0(一)

734 阅读2分钟

简述

http/2就是超文本传输协议第2版,最初命名为http2.0,主要基于SPDY协议,在请求方法,状态码乃至URI和绝大多数http头部字段等方面保持高度兼容性

通过http2.0优化页面的手段包括

  • 对http头字段进行数据压缩(HPACK)
  • http/2服务端推送(server push)
  • 请求管道化
  • 允许设定请求优先级
  • 修复了http/1.0以来未修复的问题(比如队头阻塞问题)
  • 对数据传输采用多路复用
  • 采用二进制来打包,传输数据

2.0支持现有的http应用场景,包括桌面浏览器和移动设备浏览器,网络API,不同规格的网络服务器和正向代理,反向代理服务器软件,防火墙,CDN等。

http2.0与http1.1比较

  • http2.0向前进行了兼容,但是借助新特性可以得到更好的速度
  • http2.0采用了新的方法来编码,传输客户端和服务端的数据

http2.0与SPDY的比较

  • http2.0使用了一份经过定制的基于霍夫曼编码的压缩算法,而SPDY协议用的是动态流压缩算法
  • http2.0禁用了很多加密包,以保证基于TLS的连接前向安全

浏览器兼容性

队头阻塞(Head-of-line blocking)

在计算机网络中是一种性能受限的现象,原因是第一个数据包接受受阻,从而导致整个数据包受阻。

SPDY

google主导的http的替代协议,采用了TCP通道,主要关注降低延迟

服务器推送

服务器主动向浏览器提供资源,勿需浏览器端发起请求

请求管道化

将多个http请求批量提交的技术,在发送过程中不需要等待服务端的响应。在高延迟的连接环境下,可以动态提高html网页的加载时间。服务器端应用http1.1协议,必须按客户端的请求顺序恢复请求,所以连接还是先进先出的,就容易造成队头阻塞的问题,而http2.0可能将多个http请求填充在一个tcp数据包中以解决此类问题。

多路复用(多工)

通常表示在一个信道上传输多路信号或数据流的过程和技术,多路复用能够将多个低速信道整合到一个高速信道并进行传输。

References