HTTP/2初探

HTTP/2新特性

1、单一长连接

客户端向服务器请求资源时,不管请求资源的多少,只会建立一条TCP连接。这样就能够减少TCP握手的次数,提高网络效率

HTTP性能优化的关键在于低延迟,主要就是因为建立TCP连接所消耗的时间太长(TCP慢启动),而单一长连接一定程度上缓解了这个问题

2、多路复用

允许同时通过单一HTTP/2连接发起多重的请求-响应消息

这主要是解决了HTTP/1.1限制了客户端在同一时间请求同一域名的次数,超过次数会被阻塞。多路复用使得在同一时间点上,可以存在多个资源的请求,这些不同的请求存放在每个二进制帧中,以此提高并发量

3、头部压缩,通过HPACK算法压缩头部,减少报文体积

4、服务器推送。在客户端还没向服务器请求某资源时,服务器主动推送某资源给客户端,客户端将这个资源缓存起来,以后要用到时就可以直接走缓存了