写点什么

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

评论

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

第三次“世界大战”——芯片保卫战,无烟的战场

IC男奋斗史

芯片行业思考

Ember 速度最快、性能最高的渲染技术框架之一

devpoint

前端框架 ember.js

为什么需要线程池?什么是池化技术?

王磊

面试

Redis 主从复制的原理及演化

百度开发者中心

这是我们的黄金时代

IC男奋斗史

职业规划 芯片行业思考 芯片技术

裸奔?哒咩!

IC男奋斗史

芯片技术

云原生网络利器--Cilium 总览

Daocloud 道客

ebpf cilium 云原生网络 容器网络方案

Hoo虎符研究院|2022年三月值得关注的赛道

区块链前沿News

Web NFT 元宇宙 虎符交易所

检测图片中是否有二维码

逆锋起笔

android 二维码 Android端 3月月更

润还是不润?这是个问题

IC男奋斗史

职业规划 芯片行业思考

芯荒荒,汽车芯片路在何方

IC男奋斗史

芯片行业思考 芯片技术

看到字节跳动28岁员工猝死,我都想润了......

IC男奋斗史

职业规划 芯片行业思考

微博评论架构设计

刘洋

#架构实战营 「架构实战营」

iOS防截屏|担心App内容被截屏泄露吗?这个开源库就是你要的

LabLawliet

ios

博文推荐|使用 Apache Pulsar 构建边缘应用程序

Apache Pulsar

开源 架构 分布式 云原生 Apache Pulsar

李凌:6 年,我如何从开源小白成为 Apache 顶级项目 PMC

腾源会

开源 腾源会

凤姐如何变冰冰?

IC男奋斗史

芯片技术

国内外最知名的9大工作任务管理软件盘点

爱吃小舅的鱼

为什么需要线程池?什么是池化技术?

CRMEB

IC应届生40万白菜价!从业多年的资深专家手把手指导你如何选择offer!

IC男奋斗史

职业规划

我的奋斗:我在外企那些年(二)

IC男奋斗史

职业规划 芯片行业思考

我是一名数学专业的应届博士,我该如何选择offer?

IC男奋斗史

职业规划

PostmangRPC功能使用介绍

蜜糖的代码注释

gRPC 调试 Postman 3月月更

对信用卡欺诈 Say No!百行代码实现简化版实时欺诈检测

沃趣科技

数据库表

聊聊redo log是什么

程序猿阿星

Redo Log MySQL InnoDB

Redis现网那些坑:用个缓存,还要为磁盘故障买单?

华为云开发者联盟

redis 缓存 SSD 磁盘故障 缓存Redis

云原生多云应用利器 -- Karmada 调度器

Daocloud 道客

Kubernetes 云原生 开源软件 Karmada

我的奋斗:我在外企那些年(一)

IC男奋斗史

职业规划 芯片行业思考

芯片工程师太贵?贵你妹啊

IC男奋斗史

芯片行业思考

VuePress 博客优化之中文锚点跳转问题

冴羽

typescript Vue 博客 vuepress 博客搭建

通过简书网学习 ActionChains,selenium webdriver 学习第3篇

梦想橡皮擦

Python 3月月更

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