为什么我们需要 HTTP/3?QUIC协议成功“上位”。

2023-11-04

TCP 是 Internet 上使用和部署最广泛的协议之一,多年来一直被视为网络基石,随着HTTP/3正式被标准化,QUIC协议成功“上位”,UDP“取代”TCP成为基础协议,TCP究竟“输”在哪里?

TCP与HTTP的不解之缘

HTTP(超文本传输协议 1.0)的第一个正式版本在 1996 年完成。但是HTTP/1.0 没有充分考虑分层代理、缓存、长连接的需求和虚拟主机的影响。所以在一年后HTTP/1.1发布,这也是使用最广泛的版本。

在 HTTP/1.1 中, 浏览器通过 TCP 连接一次只能下载一个文件, 如果一个页面需要 10 个 js 文件, 那么这些文件将会按顺序下载。一个文件的延迟就会阻塞后面的其他内容, 也就是我们常说的队头阻塞。

2015年, HTTP 协议迎来了更新, HTTP/2发布。HTTP/2 的一大特点是多路复用。引入了二进制帧和流机制,允许使用单个 TCP 连接, 通过 Stream 并行下载资源, 提高了传输效率。然而HTTP/2的多路复用技术使得多个请求其实是基于同一个TCP连接的,因此在HTTP/2中,TCP队头阻塞造成的影响会更大,如果某一个请求造成了TCP队头阻塞,那么多个请求都会受到影响。

事实上,在丢包率高的环境中,HTTP/1.1 性能更好。

此外,发起 HTTP 请求时,需要经过 TCP 三次握手和四次挥手的过程,整个过程共需要 3 个 RTT 的时延才能发出请求数据。如果客户端和服务器相距遥远,则每RTT可能会花费超过 100 毫秒,从而导致明显的延迟。

RTT:往返时间(Round Trip Time),指一个请求从客户端浏览器发送一个请求数据包到服务器,再从服务器得到响应数据包的这段时间。RTT 是反映网络性能的一个重要指标。

几十年来,TCP 一直是网络的基石,但种种问题让大家不得不思考取代它的方法,这就是——QUIC,QUIC在几个关键方面与 TCP 有很大不同,直接在其上运行 HTTP/2 将非常困难。因此,HTT

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我们需要 HTTP/3?QUIC协议成功“上位”。 的相关文章

随机推荐

  • JS 监听浏览器各个标签间的切换-visibilitychange事件介绍

    JS 监听浏览器各个标签间的切换 以前看到过一些网页 在标签切换到其它地址时 网页上的标题上会发生变化 一直不知道这个是怎么做的 最近查了一些资料才发现有一个 visibilitychange 事件就可以搞定 这里将介绍一下页面可见性 Pa
  • nfs使用mount -o传递用户名和密码参数需要修改的地方

    挂在的信息一般通过 nfs parse mount option 可以直接打印 会有很多信息 1 修改的地方在super c该文件涉及到获取超级快等操作 修改enum 在里面添加 Opt username Opt passwd 2 修改另一
  • 那些年我们遇到的坑(3)-basePackages和scanBasePackages

    1 SpringBootApplication启动时会默认扫描主类当前包及子包 如果需要扫描主类当前包外的其他包或不扫描当前包下的特定包或类 可通过下列属性实现 Class scanBasePackageClasses default 详细
  • Nginx + Spring Boot 实现负载均衡

    Python实战社群 Java实战社群 长按识别下方二维码 按需求添加 扫码关注添加客服 进Python社群 扫码关注添加客服 进Java社群 作者丨虚无境 来源丨博客园 http www cnblogs com xuwujing 前言 本
  • 【Java】Map和Set

    目录 一 搜索树 1 概念 2 操作 查找 3 操作 插入 4 操作 删除 难点 6 性能分析 二 搜索 1 概念及场景 2 模型 三 Map 的使用 1 关于Map的说明 2 关于Map Entry的说明 gt 3 Map 的常用方法说明
  • Shiro简单配置Springboot版(3)

    6 整合SpringBoot项目实战 6 0 整合思路 6 1 创建springboot项目 6 2 引入shiro依赖
  • 小雀和他的王国【牛客练习赛56 E】【Tarjan缩点+树的直径】

    题目链接 首先 如果它本身就是在环内了 那么 任意的破坏环上的任意条边 都是不会影响答案的 所以 我们可以知道 会映像答案的边只有那些桥 于是 做法就变成了Tarjan缩点 然后就变成了一棵树了 我们现在想要构成最大的环 于是任务就变成了找
  • python 查tensorflow版本_查看已安装tensorflow版本

    由于tensorflow版本不同 可能一些函数的调用也有变换 这时候可能需要查看tensorflow版本 可以在终端输入查询命令如下 python import tensorflow as tf tf version 查询tensorflo
  • Android内存优化的10条建议

    合理设置应用的minSdkVersion和targetSdkVersion 使应用可以运行在更多设备上 这可以提高内存利用效率 避免在Application和Activity的onCreate方法中做过多工作 这会占用过多内存 可以将不必要
  • Spring 定时器 No qualifying bean of type [org.springframework.scheduling.TaskScheduler] is defined

    最近项目里面 用了spring的定时任务 一直以来 项目运行的不错 定时器也能正常使用 可是 今天启动项目测试的时候 盯着启动Log看了一阵子 突然间发现 启动的Log中居然有一个异常 虽然一闪而过 但是那熟悉的异常格式还是让我浑身一颤 这
  • 启动hive报错_Power BI连接Hive数据库

    要想实现Powe BI连接Hive数据库 需要安装一个驱动进行配置 同时服务器开启hiveserver2在后台运行 1 下载ClouderaHiveODBC64 https downloads cloudera com connectors
  • windows安装mingw编译c程序

    这篇文章主要介绍在windows下安装mingw 编译c代码的详细步骤 mingw是在windows下面的gcc 有了mingw 以前在linux下面编写的c代码也能在window下面编译运行啦 1 第一步 下载mingw 下载mingw很
  • 从程序员的角度看待算法的学习与研究

    一 引言 算法的重要性和应用场景 提高效率 算法可以帮助我们设计和实现高效的解决方案 在有限的资源下 提高计算机程序或系统的执行速度和效率 解决复杂问题 算法可以提供有效的解决方案来解决各种复杂问题 例如图像处理 自然语言处理 数据分析等领
  • 微软疑断自由软件开发者“活路”,禁止在微软商店发布商业开源

    整理 彭慧中 责编 屠敏 出品 CSDN ID CSDNnews 几周前 微软更新了其应用商店的政策 增加了新的政策 将于下周开始生效 其中包括以下文字 所有定价 都不能 企图从开源或其他普遍免费的软件中获取经济利益 图源SFC 原本大家以
  • Python记3(类与对象、路径、文件、异常处理、抽象基类

    目录 1 Class 1 1 声明类 1 2 类的特殊属性 1 3 创建对象 1 4 构造函数和析构函数 1 5 类方法和静态方法 类变量与实例变量 1 6 公有 保护 私有变量 通过下划线数量和位置区分 1 7 继承 1 7 1 多继承M
  • MATLAB编程(3)——MATLAB依次运行多个脚本.m文件

    问题描述 在做算法对比实验时 经常需要依次运行多个算法的代码 每个算法的入口程序是一个脚本 m文件 当然 算法的脚本文件中又会调用算法自己的子函数 我们期望MATLAB依次运行这些对比算法的脚本 m文件 而不用等到一个算法的程序执行结束后
  • 一次诡异的linux系统重启故障

    情况描述 同事反应说oracle数据库在周末的时候宕了 排查下问题 登到服务器上发现 oracle进程已经不存在 然后ps看了下监听进程 发现也不存在 这时候就怀疑是操作系统重启了 操作系统版本信息 root card paopi log
  • cmake add_subdirectory添加父级目录及其子目录的源码

    cmake add subdirectory添加父级目录及其子目录的源码 1 目录结构 tree main CMakeLists txt main cpp thirdlib CMakeLists txt myprintf cpp mypri
  • perl:取整、四舍五入、向上取整、向下取整

    取整int 四舍五入round 向上取整POSIX ceil 向下取整就是int或者POSIX floor 其中ceil和floor 要使用库POSIX 在perl源代码里加入 usr bin perl use strict use war
  • 为什么我们需要 HTTP/3?QUIC协议成功“上位”。

    TCP 是 Internet 上使用和部署最广泛的协议之一 多年来一直被视为网络基石 随着HTTP 3正式被标准化 QUIC协议成功 上位 UDP 取代 TCP成为基础协议 TCP究竟 输 在哪里 TCP与HTTP的不解之缘 HTTP 超文