- HTTP2 可以提高网页的性能。
- 在 HTTP1 中浏览器限制了同一个域名下的请求数量(Chrome 下一般是六个),当在请求很多资源的时候,由于队头阻塞当浏览器达到最大请求数量时,剩余的资源需等待当前的六个请求完成后才能发起请求。
- HTTP2 中引入了多路复用的技术,这个技术可以只通过一个 TCP 连接就可以传输所有的请求数据。多路复用可以绕过浏览器限制同一个域名下的请求数量的问题,进而提高了网页的性能。
more
HTTP/2(Hypertext Transfer Protocol 2)是HTTP协议的第二个主要版本,它是对HTTP/1.1的升级和改进。HTTP/2旨在提供更快、更高效的Web性能,并解决了HTTP/1.1存在的一些性能瓶颈和限制。
以下是HTTP/2的一些关键特性和改进之处:
- 多路复用(Multiplexing):HTTP/2引入了多路复用的机制,允许在单个TCP连接上同时发送多个请求和响应。这消除了HTTP/1.1中的序列化请求的限制,并允许并行处理多个请求,提高了性能和效率。
- 二进制分帧(Binary Framing):HTTP/2使用二进制格式对请求和响应进行分帧,取代了HTTP/1.1中的文本格式。通过将数据分割为更小的帧并使用二进制编码,HTTP/2提供了更高的解析效率和可靠性。
- 头部压缩(Header Compression):HTTP/2使用HPACK算法对HTTP头部进行压缩,减少了头部的大小。这减少了请求和响应的数据量,降低了网络传输延迟和带宽消耗。
- 服务端推送(Server Push):HTTP/2支持服务器主动推送资源给客户端,无需客户端明确请求。这减少了客户端发起额外请求的次数,提高了页面加载速度和性能。
- 流量优先级(Stream Prioritization):HTTP/2引入了流(Stream)和优先级(Priority)的概念,允许客户端指定请求响应的优先级,以便服务器能够更好地管理和调度资源,提供更好的用户体验。
- 兼容性:HTTP/2是向后兼容的,可以通过协商机制实现与不支持HTTP/2的客户端和服务器之间的通信。如果客户端无法与服务器建立HTTP/2连接,它们可以继续使用HTTP/1.1进行通信。
总体而言,HTTP/2旨在提供更快、更高效的Web性能,减少延迟和带宽消耗,并提升用户体验。它通过多路复用、二进制分帧、头部压缩、服务端推送和流量优先级等特性改进了传统的HTTP/1.1协议。然而,为了充分利用HTTP/2的优势,需要服务器和客户端都支持HTTP/2协议。