HTTP2 相比 HTTP1.x 有以下几个方面的改进:
多路复用(Multiplexing):HTTP2 可以在一个TCP连接上同时传输多个请求和响应消息,避免了 HTTP1.x 中的队头阻塞(Head-of-line blocking)问题,提高了并发性能和响应速度。
二进制分帧(Binary Framing):HTTP2 将请求和响应消息分割为更小的二进制帧(frame),并对这些帧进行二进制格式的编码和解码,提高了数据传输的效率和安全性。
首部压缩(Header Compression):HTTP2 使用 HPACK 算法对请求和响应消息的首部进行压缩,减少了重复的首部字段和数值,降低了网络传输的数据量,提高了性能。
服务器推送(Server Push):HTTP2 允许服务器在发送响应消息的同时主动推送其他相关的资源,避免了客户端多次请求服务器的情况,提高了页面加载的速度和性能。
除了上述几个方面的改进,HTTP2 还支持加密传输(TLS)、优先级设置(Priority)、流量控制(Flow Control)等功能,这些功能使得 HTTP2 在性能和安全方面都有了很大的提升,成为了现代 Web 应用中不可或缺的一部分。