相对http1.1,http 2在性能和功能上有显著的提升,主要优势如下:
主要优势包括以下几个方面:
-
多路复用:HTTP/2允许在单个TCP连接上并发多个请求和响应,这意味着多个请求可以同时进行,而不会相互阻塞。这种特性显著提高了网络利用率和响应速度12。
-
头部压缩:HTTP/2使用HPACK算法对请求和响应头进行压缩,减少了传输的数据量,从而节省了带宽并加快了传输速度。头部压缩可以减少传输的字节数,通常可以减少70%到85%的头部数据13。
-
二进制传输:HTTP/2使用二进制格式进行数据传输,而不是HTTP/1.x的文本格式。这种改变使得数据传输更加高效,减少了处理时间13。
-
服务器推送:HTTP/2支持服务器推送功能,服务器可以主动向客户端发送资源,减少了客户端的请求次数,提高了加载速度和用户体验45。
-
兼容性:HTTP/2与HTTP/1.x兼容,可以在不修改应用代码的情况下使用。HTTP/2保留了HTTP/1.x的语义,如请求方法、状态码等,只是在传输层进行了优化13。
-
安全性:HTTP/2通常与HTTPS一起使用,提供了数据传输的安全性。HTTPS本身提供了加密功能,而HTTP/2则优化了加密数据的传输效率
整个交互示例如下:
交互的结果选择是选择用http2还是http 1.1,取决于服务端
如下图示例为:客户端告诉服务端支持h2和http1.1,而服务端选择了用http1.1交互