可以自己做个简单的试验,看图用Node.js实现一个http1和http2服务器。用客户端访问相同的页面,9306端口的http2服务跟客户端只用了一个TCP连接。9307端口的http1服务跟客户端建立了6个连接。连接数量少的时候,HTTP1可能会比HTTP2快,但是连接数量多的时候,HTTP2明显性能更好。因为浏览器对同域名的并发连接数是由限制的,一般不超过6个TCP连接。比如你的网页有许多图片、脚本、样式、fetch、XHR请求的时候,HTTP1同一时刻只能下载6个文件,其他就得排队等候。如果是HTTP2,由于TCP连接可以复用,不会出现阻塞现象。
可以自己做个简单的试验,看图

用Node.js实现一个http1和http2服务器。
用客户端访问相同的页面,9306端口的http2服务跟客户端只用了一个TCP连接。
9307端口的http1服务跟客户端建立了6个连接。
连接数量少的时候,HTTP1可能会比HTTP2快,但是连接数量多的时候,HTTP2明显性能更好。
因为浏览器对同域名的并发连接数是由限制的,一般不超过6个TCP连接。
比如你的网页有许多图片、脚本、样式、fetch、XHR请求的时候,HTTP1同一时刻只能下载6个文件,其他就得排队等候。
如果是HTTP2,由于TCP连接可以复用,不会出现阻塞现象。