写点什么

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

评论

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

常见监控分类概述

穿过生命散发芬芳

监控 9月月更

jvm内存结构不同部分的总结

知识浅谈

JVM内存结构 9月月更

浓缩即精华!腾讯云大神亲码“redis深度笔记”,堪称面试宝典!

收到请回复

Java 云计算 开源 架构 编程语言

互联网公司员工职级、研发效能度量、OKR与绩效考核

laofo

DevOps cicd 研发效能 持续交付

中国市场到底有多少国产开源操作系统?

雨果

操作系统 开源操作系统

什么是数据管理系统?数据管理系统关键特性有哪些?

雨果

数据管理

流日志轻松应对“10亿级别IP对”复杂场景,实现超大规模混合云网络流量可视化

百度Geek说

运维 数据 流量 企业号九月金秋榜

大数据调度平台Airflow(三):Airflow单机搭建

Lansonli

airflow 9月月更

爬虫与反爬虫技术简介

vivo互联网技术

爬虫 反爬虫

2022年最新【Java经典面试800题】面试必备,查漏补缺:多线程+spring+JVM调优+分布式+redis+算法

收到请回复

Java 云计算 开源 架构 编程语言

什么是混合云?与公有云、私有云有啥区别?

wljslmz

云计算 公有云 私有云 混合云 9月月更

每日算法刷题Day14-反转链表、两个链表的第一个公共结点、删除链表中重复的节点

timerring

算法题 9月月更

带你体验给黑白照片上色

华为云开发者联盟

人工智能 华为云 图像 企业号九月金秋榜

python小知识-类全知道

AIWeker

Python python小知识 9月月更

阿里内部高产的 SpringBoot 保姆级笔记,面面俱到,太全了!

收到请回复

Java 云计算 开源 架构 编程语言

快速体验 MicroK8s 开箱即用的服务网格

Flomesh

Service Mesh 服务网格

堪称神作!啃透这份JVM笔记,轻松搞定阿里30K面试!!

收到请回复

Java 云计算 开源 架构 编程语言

史上最详细Ajax学习笔记

楠羽

笔记 ajax数据 9月月更

极速安装和体验k8s(Minikube)

程序员欣宸

Kubernetes 9月月更

什么是数据资产管理?5个角度帮你参透数据资产管理

雨果

数据资产管理

带你走近Java虚拟机到底有哪些垃圾收集器

派大星

9月月更

C++学习---_IO_lock_t的源码学习

桑榆

c++ 源码阅读 9月月更

计算机网络——物理层设备

StackOverflow

编程 计算机网络 9月月更

中国20强游戏公司2022上半年年报分析:复合因素下业绩增长承压,海外新兴市场蕴含增长新趋势

易观分析

游戏 海外市场

你以为抓包软件只能抓包吗?看看抓包软件还有啥牛逼功能!

HullQin

CSS JavaScript html 前端 9月月更

Qt|QGraphicsView架构下实时鼠标绘制图形

中国好公民st

c++ qt 9月月更

高并发之降级和熔断

源字节1号

软件开发

Flink计算框架概述

阿泽🧸

9月月更 Filnk

【字符串函数内功修炼】strncpy + strncat + strncmp(二)

Albert Edison

C语言 9月月更 strncpy strncat strncmp

J-Tech & 开源之夏|什么是比快更快的向量搜索

Jina AI

搜索引擎 开源 开源之夏

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