写点什么

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

评论

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

怒肝15天终于将Kafka的重平衡一举拿下

Java 程序员 后端

必知必会JVM三-面试必备,JVM堆内存详解

Java 程序员 后端

开发十年面试过1000个人,总结出这份高薪Java 面试秘诀

Java 程序员 后端

微服务容错组件Hystrix设计分析

Java 程序员 后端

微服务配置中心 Apollo解析——Portal 关联 Namespace

Java 程序员 后端

架构实战营 - 第三期 - 模块三作业

lucian

架构实战营

开发进阶加薪利器:美团架构师最新版的深入理解JVM底层和源码PDF

Java 程序员 后端

微服务架构实战:可扩展分布式数据库集群的搭建

Java 程序员 后端

微服务下的分布式session管理

Java 程序员 后端

开源爆款,阿里P7技术笔记《k8s+docker》

Java 程序员 后端

当程序员多年了,现在竟然还有人只会多线程-,不会异步编程!-我惊呆了

Java 程序员 后端

微服务SpringCloud项目:初步整合rabbitmq

Java 程序员 后端

必知必会JVM二-运行时数据区

Java 程序员 后端

总结了才知道,原来Java NIO的channel是这么用的!

Java 程序员 后端

应届生想要找到一份Java开发的工作,需要达到什么水平?

Java 程序员 后端

应用服务器集群的Session管理

Java 程序员 后端

Android开发:当前项目以Module形式引用别的项目的步骤

三掌柜

11月日更

微服务治理:CloudConsul和ZooKeeper

Java 程序员 后端

年前三面美团百度挂了,疫情间啃完阿里面试宝典,成功斩获offer

Java 程序员 后端

张总:“必须要裁掉那些老家伙”中年程序员真的只能坐等被裁吗?

Java 程序员 后端

当场折服,这份阿里P8大牛给我的JUC知识总结真的超详细

Java 程序员 后端

微软员工求助:谷歌150w,拼多多200w,腾讯160w,offer怎么选

Java 程序员 后端

悟了!原来这才是分布式事务的正确打开方式

Java 程序员 后端

开发新人有必要考虑在工作一年后跳槽

Java 程序员 后端

异步编程的取消机制 竟然还有这样的效果, 要不要了解一下?

Java 程序员 后端

微服务配置中心 Apollo 解析——调试环境搭建

Java 程序员 后端

强烈推荐10本程序员必读的书

Java 程序员 后端

微服务配置中心 Apollo解析——Portal 创建 Cluster

Java 程序员 后端

幸亏有了这本623页的微服务框架实战笔记,一举拿下腾讯美团滴滴offer

Java 程序员 后端

应云而生,幽灵的威胁 - 云原生应用交付与运维的思考

Java 程序员 后端

开发做了一两年了,感觉遇到了瓶颈,公司已经学不到太多东西,如何成长为技术大牛

Java 程序员 后端

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