「HTTP」- HTTP/2

解决方案

HTTP/2 是 HTTP 协议的第二个主要版本,最初命名为 HTTP2.0,主要基于 SPDY 协议;

原理简述

SPDY(SPeeDY)是谷歌开发的基于 TCP 协议的应用层协议。目标是优化 HTTP 协议的性能,通过压缩、多路复用和优先级等技术,缩短网页的加载时间并提高安全性。SPDY 协议的核心思想是尽量减少 TCP 连接数。SPDY 并不是一种用于替代 HTTP 的协议,而是对 HTTP 协议的增强;

性能增强的核心:二进制传输

在 HTTP/1 中,数据是通过文本的方式传输。数据基于文本的方式传输存在缺陷,这是由于文本的表现形式有多样性,需要考虑各种场景才能达到健壮性;

在 HTTP/2 中,但是二进制则不同,只有 0 和 1 的组合,因此选择二进制传输,实现方便且健壮;

特性特征

HTTP2.0 的特点是:在不改动 HTTP 语义、方法、状态码、URI 及首部字段的情况下,大幅度提高 web 性能;

HTTP/2 其他增强:
1)头部压缩:采用 HPACK 算法压缩头部,减少头部大小提升性能;
2)多路复用:每条请求消息可以继续细分为帧交错发送,然后在另一端重新组装为帧。在 HTTP/1.1 中当客户端在一个 TCP 连接同时发起多个请求时,服务器必须按顺序依次响应每个请求,后续的请求可能被阻塞;
3)服务器推送:服务器除了可以响应客户端请求,还可以向客户端推送额外的资源;
4)优先级:HTTP/2 设计了复杂的优先级排定规则,浏览器可以一次请求多个资源,指定一些优先级信息来帮助服务器确定应该如何处理这些资源,避免资源处理的相互竞争;