关于HTTP2.0
HTTP2.0是HTTP协议的第二个主要版本,主要基于SPDY协议
SPDY协议
SPDY协议用于优化HTTP协议的性能,通过压缩、多路复用和优先级等技术,缩短网页的加载时间并提高安全性。
SPDY协议是对HTTP协议的一种增强~
HTTP1.x的缺点
- HTTP/1.0一次只允许在一个TCP连接上发起一个请求;HTTP/1.1使用的流水线技术只能处理部分并发请求,仍然会出现队列头阻塞的问题。
- HTTP1.x只能单向请求,从客户端向服务器端发起。
- 请求报文和响应报文首部信息冗余。
- 传输的数据未压缩,传输量大。
HTTP2.0的优点/特点
特点:
- 二进制传输
- 多路复用
- Header压缩
- 服务器Push
- 更安全
二进制传输:实现方便、提升健壮性。HTTP1.x中传输数据是用文本传输,文本的表现形式有多样性,故需要考虑很多情况以实现健壮性;然而二进制传输,只有0和1的组合则避免了这样的麻烦。
多路复用:帧(frame)是最小的数据单位,流(stream)是多个帧组成的数据流。多路复用就是,一个TCP连接中有多个流,即一个TCP连接中可以同时发送多个请求,对端通过帧中的表示知道该帧属于哪一流(哪个请求)。从而解决了队列头阻塞的问题,提高了传输效率。
Header压缩:HTTP1.0中,采用文本的形式传输header。若header中带有cookie,则每次要重复传输几百、几千字节,开销较大。HTTP2.0中,使用HPACK(HTTP2.0头部压缩算法)对传输的header编码,减少header的大小。
服务器Push:服务器端可以在客户端某个请求后,主动推送其它资源。并不像HTTP1.x那样只能单向请求。
更安全:HTTP2.0进一步加强tls的安全性。