1 Star 0 Fork 0

huyi / TechCPP

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
请你介绍一下http2.0.md 1.49 KB
一键复制 编辑 原始数据 按行查看 历史
葛昆仑 提交于 2024-02-16 22:03 . update:14 articles

HTTP/2引入了若干关键改进来优化数据传输,提高效率和速度,其中包括:

  1. 二进制帧层:HTTP/2采用二进制格式传输数据,而不是HTTP/1.x的文本格式。这种改变使得请求和响应可以被分割成更小、易于管理的帧,这些帧隶属于一个流,每个流有一个唯一的标识符。二进制协议也更加高效,易于解析和减少错误。
  2. 多路复用(Multiplexing):在HTTP/1.x中,每个请求都需要一个单独的TCP连接,或者通过管道化来尝试解决这个问题,但存在队头阻塞问题。HTTP/2允许在单个连接上同时发送多个请求和响应,无需等待前一个传输完成,大大减少了延迟并提高了页面加载速度。
  3. 服务器推送(Server Push):HTTP/2允许服务器在客户端需要之前就主动将资源推送给客户端,这样可以进一步减少等待时间,提高性能。例如,当客户端请求一个HTML文件时,服务器可以预测客户端接下来会请求的CSS文件和JavaScript文件,并主动发送这些资源。
  4. 头部压缩:HTTP/2使用HPACK压缩格式减小了头部大小。由于HTTP/1.x的头部数据每次请求几乎都是重复的,因此这种压缩显著减少了传输的数据量。
  5. 优先级和流控制:HTTP/2允许设置数据流、消息和帧的优先级,使得管理数据流的顺序和资源分配更加高效。此外,流控制机制防止任何单个数据流消耗所有可用带宽。
1
https://gitee.com/hylhm/TechCPP.git
git@gitee.com:hylhm/TechCPP.git
hylhm
TechCPP
TechCPP
master

搜索帮助