写点什么

基于 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:157199

评论

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

Programming abstractions in C阅读笔记:p166-p175

codists

Eclipse、IntelliJ IDEA、PyCharm三种IDE区别

小齐写代码

Perforce发布《2023游戏开发与设计现状报告》,为游戏开发行业提供参考

龙智—DevSecOps解决方案

perforce 游戏开发与设计现状报告

六个为Rust构建的IDE

树上有只程序猿

rust语言

运维 | Nginx Proxy Manager反向代理工具

Appleex

运维 nginx反向代理

什么是K-均值算法

小魏写代码

聊聊什么是厂商绑定

冯骐

开源 供应链 战略思考 技术 优化体系 厂商绑定

80、90童年回忆之小霸王游戏机网页版

echeverra

小霸王

用 TDengine 3.0 碰到“内存泄露”?定位问题原因很关键

TDengine

时序数据库 内存泄漏 ​TDengine

全流程多元化适配服务,OPPO Android 14 适配率高达98%!

科技热闻

如何利用动态配置中心在JavaAgent中实现微服务的多样化治理

华为云开发者联盟

云计算 后端 云服务 华为云 华为云开发者联盟

当 FineReport 遇见 CnosDB

CnosDB

开源 时序数据库 CnosDB FineReport

源码, AST, IR, CFG之间的关系梳理

云计算 软件开发 华为云

Python 元组完全指南2

小万哥

Python 程序员 软件 后端 开发

小灯塔系列-中小企业数字化转型系列研究——CDP测评报告

人称T客

IntelliJ IDEA安装教程

小齐写代码

深入理解java和dubbo的SPI机制 | 京东物流技术团队

京东科技开发者

Java spi Dubbo SPI 企业号10月PK榜

Hugging "Hugging Face"

数由科技

低代码 huggingface 大语言模型 huggingfists 多模态模型

全国5000家金融单位将加入信创建设大军,未来数年发展关键期

没有用户名丶

一款Redis可视化工具:ARDM | 京东云技术团队

京东科技开发者

redis 可视化工具 企业号10月PK榜 ARDM

代码检查过程中为什么需要涉及到编译呢?

云计算 软件开发 华为云 代码检查

深入浅出MySQL MRR(Multi-Range Read)

Java随想录

Java MySQL

如何正确使用多线程和锁机制来构建可靠的程序

华为云开发者联盟

后端 多线程 开发 华为云 华为云开发者联盟

精彩议程抢先看 | 第四届 CID 大会线下参会报名启动!

OpenAnolis小助手

云计算 架构 深圳 龙蜥社区 CID

从问界单日7000台,聊聊智能汽车成熟时

脑极体

问界

Databend 开源周报第 113 期

Databend

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