我们都知道1.1与1的最主要的区别在于默认开启了connection:keep-Alive实现了长连接,不需要再发送一个请求就要建立一个连接,现在建立一个连接就可以进行多次的数据传输。
而随着互联网的快速发展,数据量的大量剧增,http1.1的问题也就浮出水面了
问题:1.并行文本传输,1.1是按照并行文本传输的,比如要传输一个“hello world”,必须从h开始一个个按顺序传输,因为传输的过程是无法标识顺序的。
2.连接数的限制,比如服务器的最大并发数是300,浏览器发送的请求书最大为6,则服务器最高并发数为50了,当我们发送51请求的时候,就需要等前面50个请求其中完成一个
为了解决这些问题,2.0出现了,他引入了二进制数据帧和流的概念,二进制负责给数据进行数据标识,流呢,就负责并行传输数据,传输效率大大提高,而且,2.0后,通过一个域名访问的任何文件都通过一个连接进行,服务器所能承受的高并发数也随之大幅提高,而且2.0还有一个优点,比如现在优化的重要一点在于通过减少请求数,通过工程化模块化,压缩打包后通过一个文件的形式进入生产环境,以前是一个模块发生变化后,整个文件都需要发生变化,不能放入缓存中,2.0之后不需要了,哪个模块发生变化,就重新更改哪个模块。