当前位置: 首页 > article >正文

为什么 HTTP/3 抛弃了 TCP?是解决问题还是制造问题

先说说 HTTP/2 的痛点:过去的江湖并不太平

HTTP/2 啥时候上线的?2015年。那个时候大家惊呼“哇,传输速度更快了”,但用了几年后,问题逐渐暴露。要知道,HTTP/2 虽然引入了多路复用,但底层依旧跑在 TCP 上,而 TCP 的“队头阻塞”问题简直让人抓狂。

举个栗子:
想象你去银行排队,柜台开了多个窗口,理论上能提升效率。但只要有一个窗口遇到复杂业务,比如老大爷忘带身份证了,所有其他窗口都得等,因为背后统一用一个“数据处理大脑”(TCP 的单通道传输)。这叫什么?这就叫“队头阻塞”。包裹一丢,全线瘫痪,速度直接劝退。


HTTP/3 的革新:换了个新套路的江湖传人

HTTP/3 一看前辈不行,果断抛弃了 TCP,投入了 QUIC 的怀抱。QUIC 是啥?简单说,它是 Google 发明的一种协议,直接基于 UDP 搭建。这种做法,就像从“公务运输专线”(TCP)切换到了“灵活的快递众包模式”(UDP)。

HTTP/3 有啥招数?看这里:

  1. ‍♂️ 连接建立更快
    以前 TCP+TLS,三次握手+密钥交换,搞得贼繁琐。QUIC 一次性搞定连接,跟“闪电约会”似的,速度快到飞起。
  2. 解决队头阻塞
    丢包?没关系!HTTP/3 每个数据流独立传输,就像包裹可以分开走不同路线,互不干扰。老大爷身份证没带,其他人依然能办理业务。
  3. 连接迁移
    换 WiFi 或切 4G?TCP 得重新握手,而 QUIC 带着连接 ID 一路畅通,像是跟着你到处跑的“随身秘书”。


但新问题也来了

HTTP/3 看似全能,但用起来还是有点烦人的地方:

  1. CPU 压力变大
    UDP 本来是“糙快猛”,包处理本应靠内核搞定,现在 QUIC 把它拉到应用层处理,结果是服务器 CPU“爆肝”。用 HTTP/3 的人多了,服务器运维大哥估计得疯。
  2. 中间设备可能适配得做一段时间
    路由器、防火墙啥的,对 TCP 优化做了几十年,但 UDP 却像“初来乍到的小朋友”,很多中间设备可能会“卡你网速”。
  3. 运维难度提升
    QUIC 加密了数据流,调试难度直线上升。以前的抓包工具是“老中医”,现在变成了“进化中的实习医生”,诊断问题有点手忙脚乱。

所以个人感觉短期内,HTTP/1 和 HTTP/2 还会并存一段时间,但从长远看,HTTP/3 凭借速度快、体验好、延迟低的优势,成为主流几乎是板上钉钉的事。等它的兼容性和调试工具成熟后,这些短板会被逐步补齐。

如果觉得有帮助,记得点赞关注~我是旷野,探索无尽技术!


http://www.kler.cn/a/441922.html

相关文章:

  • iOS中的设计模式(三)- 工厂方法
  • 实践深度学习:构建一个简单的图像分类器
  • 机器学习中的方差与偏差
  • 数据库高可用方案-01-数据库备份还原方案
  • 学技术学英文:通过jmeter命令行工具生成聚合报告文件到csv文件
  • 技术洞察:C++在后端开发中的前沿趋势与社会影响
  • Linux——Shell
  • 什么是 PHP 键值对
  • Java 多态的理解
  • 按类别调整目标检测标注框的写入顺序以优化人工审核效率
  • VMProtect:软件保护与安全的全面解决方案
  • LabVIEW农机自主导航监控系统
  • 【Redis篇】Set和Zset 有序集合基本使用
  • 【系统】Mac crontab 无法退出编辑模式问题
  • 企业内训|阅读行业产品运营实战训练营-某运营商数字娱乐公司
  • 游戏AI实现-寻路算法(GBFS)
  • ubuntu系统版本安装docker容器
  • Electron和C/C++开发桌面应用对比
  • 数据结构实验题目剖析·下篇(PTA平台原题)
  • springboot443旅游管理系统(论文+源码)_kaic
  • 点焊机器人维修-ABB-KUKA-FANUC-YASKAWA
  • 第四篇:HTTP 的铠甲——HTTPS 的故事
  • 家中常用的路由器密码如何更改详细教程
  • flask flask-socketio创建一个网页聊天应用
  • 编辑器kindeditor
  • 优化Lua-cURL:减少网络请求延迟的实用方法