写点什么

基于 QUIC 协议的 HTTP/3 正式发布

  • 2022-06-08
  • 本文字数:761 字

    阅读完需:约 2 分钟

基于QUIC协议的HTTP/3正式发布

6 月 6 日,IETF QUIC 和 HTTP 工作组成员 Robin Marx 宣布,经过 5 年的努力,HTTP/3 被标准化为 RFC 9114,这是 HTTP 超文本传输协议的第三个主要版本。同时,HTTP/2 也更新为 RFC 9113标准,HTTP/1.1 和通用 HTTP 语义和缓存概念在 RFC 9110-9112 中也得到了加强。

 

HTTP/3 采用了谷歌多年探索的基于 UDP 的 QUIC 协议,原名叫 HTTP-over-QUIC,在 2018 年被 IETF 批准更名为 HTTP/3。目前,Cloudflare、Google Chrome、Firefox Nightly 均表示支持 HTTP/3。

 

HTTP/1.1 使用空格分隔的文本字段来传递 HTTP 消息。虽然这些交换是人类可读的,但使用空格进行消息格式化会导致解析复杂性和对变体行为的过度容忍。HTTP/1.1 不包含多路复用层,因此经常使用多个 TCP 连接来并行处理请求。然而,这对拥塞控制和网络效率有负面影响。

 

到了HTTP/2,引入了二进制帧和多路复用层,在不修改传输层的情况下改善了延迟。但是,由于 HTTP/2 多路复用的并行特性对 TCP 的丢失恢复机制不可见,因此丢失或重新排序的数据包会导致所有活动事务都经历停顿,无论该事务是否直接受到丢失数据包的影响。

 

为了解决 HTTP/2 中存在的队头阻塞问题,HTTP/3 不再基于 TCP 建立,而是基于 Google 提出基于 UDP 实现的开源协议 QUIC,使用 stream 进一步扩展了 HTTP/2 的多路复用,并在阻塞控制、头部压缩等方面做了提升。

 

QUIC 是一种通用传输协议,与 TCP 非常相似,除了 HTTP 和网页加载之外,它还可以并且将用于更多场景,例如 DNS、SSH、SMB、RTP 等都可以在 QUIC 上运行。

 

那么,QUIC 究竟是如何改进 TCP 的呢?根据 Marx 介绍,主要可归结为四个方面:QUIC 与 TLS 深度集成、QUIC 支持多个独立的字节流、QUIC 使用连接 ID、QUIC 使用帧(frame)。为了更容易部署, QUIC 运行在 UDP 协议之上(大多数网络设备也支持),默认情况下几乎完全加密并使用灵活的帧机制。

 

2022-06-08 18:156702

评论

发布
暂无评论
发现更多内容

HDC.Cloud 2023 | 重塑未来的1课:组装式交付新引擎——智能化低代码平台

平平无奇爱好科技

写得了代码,焊得了板!嵌入式开发工程师必修之代码管理方案(下)

极狐GitLab

DevOps gitlab 分支策略 组织管理 分支保护

金牌团队导师计划赚钱——玩家经验分享

泛目录代码编程

导师

导师计划带赚钱一对一——玩家经验分享

泛目录代码编程

导师带计划赚钱平台——玩家经验分享

泛目录代码编程

导师带计划赚钱qq——玩家经验分享

泛目录代码编程

计划导师方法——玩家经验分享

泛目录代码编程

导师带计划赚钱回本——玩家经验分享

泛目录代码编程

导师一对一计划赚钱时事新闻!

泛目录代码编程

导师带计划赚钱一对一——玩家经验分享

泛目录代码编程

腾讯张乐:“反内卷”潮流已至,研发效能是软件企业必由之路

极狐GitLab

腾讯 DevOps gitlab 研发效能 AIGC

导师一对一带计划qq赚钱——玩家经验分享

泛目录代码编程

导师一对一带赚钱回本——玩家经验分享

泛目录代码编程

金牌团队导师计划赚钱QQ群——玩家经验分享

泛目录代码编程

华为云CodeArts DevSecOps系列插件 | 助力更高效的软件研发

平平无奇爱好科技

HDC.Cloud 2023 | 邂逅AI,华为云CodeArts铸就研发效能10倍提升

平平无奇爱好科技

导师计划带赚钱一对一——玩家经验分享

泛目录代码编程

金牌团队导师计划赚钱独家揭秘——玩家经验分享

泛目录代码编程

最有实力的导师带赚回本上岸分享——玩家经验分享

泛目录代码编程

基于QUIC协议的HTTP/3正式发布_文化 & 方法_褚杏娟_InfoQ精选文章