写点什么

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

评论

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

JVM 源码解读之 CMS GC 触发条件

AI乔治

Java 架构 JVM GC

JavaScript 对象 — 重学 JavaScript

三钻

Java 大前端 对象

京东推荐系统中的兴趣拓展如何驱动业务持续增长?

京东科技开发者

算法 推荐系统 知识图谱

架构师训练营 -week06-作业

大刘

极客大学架构师训练营

程序员什么时候就该辞职了?

Java架构师迁哥

创新方案百花齐放,英特尔助力2020 EdgeX中国挑战赛推动智能边缘行业创新及人才发展

E科讯

英特尔第十一代处理器 (代号Rocket Lake-S) 架构详情

E科讯

Redis可以做哪些事?

Java旅途

redis

蚂蚁金服首发887页Java面试宝典!还原真实面试情景+面试题

Java架构追梦

Java 编程 架构 面试 蚂蚁金服

使用 Maven Archetype 基于 IDEA 快速创建项目

程序员小航

Java maven 开发 项目 Archetype

Java-技术专题-Object克隆方法解析

码界西柚

叼!阿里Mysql三位封神专家总结800页性能优化的千金良方

996小迁

Java MySQL 编程 架构 面试

TronChain波场链合约系统开发技术

薇電13242772558

区块链 智能合约

架构师训练营第六周作业

Shunyi

极客大学架构师训练营

Java-技术专题-LocalDate和LocalTime和LocalDateTime

码界西柚

数字货币交易所系统开发技术

薇電13242772558

区块链 数字货币

从实际案例聊聊Java应用的GC优化

AI乔治

Java 编程 架构 JVM GC

Javassist实现JDK动态代理

AI乔治

Java 编程 架构 jdk

LeetCode题解:78. 子集,递归+for循环+回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Week 6 命题作业

阿泰

架构师训练营 - 第 6、7、8、9、10 、11、12、13周学习总结(1 期)

阿甘

GitHub上最励志的计算机自学教程(重制版),前端小白到亚马逊工程师

沉默王二

GitHub 学习 程序员 面试

第二周总结

小兵

用上ConcurrentHashMap,就没有并发问题了?

海拉鲁

Java 并发

对抗验证概述

计算机与AI

学习 数据验证

第二周作业

小兵

直播带货需要运营者实名验证:规范行业有利于健康发展

石头IT视角

手撕面试题:多个线程顺序执行问题

大头星

Java 面试 多线程

Java-技术专题-volatile关键字

码界西柚

【得物技术】一文读懂Vue生命周期

得物技术

Vue 生命周期 得物技术部 得物 钩子函数

K近邻算法:机器学习萌新必学算法

华为云开发者联盟

学习 算法

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