范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

HTTP2vs。HTTP3前世今生!

  大家好,很高兴又见面了,我是" 高级前端 进阶  ",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!
  高级前端 进阶前言
  HTTP(超文本传输 协议)是万维网所基于的应用层传输协议。最初在 80 年代后期构思为基于单行文本的协议,最初记录为HTTP/0.9,其第一个全功能迭代(v. 1.0)于 1996 年在RFC 1945中记录。
  随着互联网的使用和期望的增长,改进 HTTP 本身的需求也在增长。1.1 版在 1997 年的RFC 2068和 1999年的RFC 2616中记录,随后在 2014 年的 RFC (7230-7235) 中记录了 — 整整十年半之后!— 记录消息语法/路由;语义/内容;条件和范围请求;缓存;和认证。
  当前的 HTTP 版本是 HTTP/2。它基于 Google 的 SPDY 项目,是该协议的第一次大修,于 2015 年在RFC 7540中标准化,同年RFC 7541引入了 Header Compression (HPACK)。
  在 HTTP/2 推出仅仅四年之后,一个基于 Google 实验性 QUIC 协议的新标准开始出现:HTTP/3。其目的:提高用户与网站和 API 交互的速度和安全性。
  2020 年 10 月,在进入 RFC 阶段之前,描述 HTTP/3(和 QUIC)的文档进入了 Internet-Draft 阶段的 IETF Last Call 阶段。然而,一旦 HTTP/3 最终确定为标准,HTTP/2 是否还有一席之地?本文描述并比较了协议的两个版本,并就每个版本在哪里找到合适的应用程序提供了一些建议。
  HTTP协议栈转换与比较
  HTTP协议栈比较从HTTP/1.1到HTTP/3的变化HTTP/2 的背景
  创建 HTTP/2 是为了解决 HTTP/1.1 的非结构化演进过程中出现的许多问题,其中大部分与性能相关。
  许多问题是由于HTTP/1.1 的固有限制而出现的,归结为响应时间随着流量的增加而增加: HTTP线头阻塞(HTTP HoL) — 当一系列数据包被阻塞前方动脉的慢/大数据包阻塞时,HTTP HoL 会导致响应时间增加。 协议开销——服务器和客户端交换额外的请求和响应元数据,重复传输标头和 cookie 会增加响应速度并减慢响应速度。 TCP慢启动——作为拥塞控制措施,协议反复探测网络以找出可用容量;在设法达到满负荷之前,多次小额转移可能会导致滞后。
  开发人员试图通过域分片、流水线和使用"无 cookie"域等变通方法来解决这些问题和限制,但这些通常会导致兼容性和互操作性问题。显然,老化的 HTTP/1.1 标准需要更新。
  2009 年,Google 宣布了SPDY,一个实验性协议,作为解决 HTTP/1.x 问题的结构化方法。HTTP 工作组注意到 Google 在使用 SPDY 实现更高的性能目标方面取得的成功。2012 年 11 月,发起了对 HTTP/2 的提案征集,并以 SPDY 规范为起点。
  在接下来的几年里,HTTP/2 和 SPDY 与 SPDY 作为实验分支共同发展。HTTP/2 作为国际标准于 2015 年 5 月作为RFC 7540发布。 对 HTTP/3 的需求
  多年来,HTTP 不断发展,从 0.9 版 5 年,1.0 版一年,到 1.1 版大约 15 年,最终在 2014 年到达第 2 版。在每次迭代中,都添加了新功能解决多种需求的协议,例如应用层要求、安全考虑、会话处理和媒体类型。如需深入了解 HTTP/2 及其从 HTTP/1.0 的演变,请阅读我们的 HTTP 演变 - HTTP/2 深入探讨 中的 HTTP 不起眼的起源 部分 。
  在这个演变过程中,HTTP 的底层传输机制大体上保持不变。然而,随着公众对移动设备技术的大量采用,互联网流量激增,新开箱的 HTTP/2 一直在努力提供流畅、透明的 Web 浏览体验。它承受着现代互联网流量的数量和速度,尤其是在实时应用程序及其用户不断增长的需求下。这导致在使用此版本的协议时出现许多警告,从而暴露出明显的改进机会。 多路复用、负载峰值和请求优先级
  曾几何时,实时白板/图表公司Lucidchart 在其负载均衡器(LB) 上启用 HTTP/2 后遇到了一个意想不到的问题。
  长话短说:他们注意到这些 LB 后面的服务器上的 CPU 负载更高,响应时间更慢。HTTP/2 吹捧提高了带宽效率、减少了延迟和请求优先级,因此没有加起来。但是什么?乍一看,流量看起来很正常,并且没有代码更改可以归咎于奇怪的行为。但是,虽然请求的 平均 数量是正常的,但流本身包含许多同时请求的高峰值。以前的供应模型未能考虑到这种情况,结果是对请求的响应超时或延迟。
  实际原因是,只要用户的浏览器使用 HTTP/1.1,由于 HTTP/1.1 的串行请求处理性质,这有效地限制了并发请求的数量,使流量保持有序并在可预测的范围内。开启 HTTP/2 可能会出现不可预知的峰值,因为它具有多路复用功能,即使用单个连接发送并发请求。批处理请求对客户端来说非常有用,但是同时请求的开始时间和数量让 Lucidchart 的服务器非常头疼。
  最后,能够在 LucidChart 的服务器上使用 HTTP/2 需要实施非平凡的解决方案,例如限制平衡器和重新构建应用程序。HTTP/2 软件的成熟度和对 HTTP 优先级的服务器支持的缺乏是额外的问题。一些应用程序仅通过安全套接字 (HTTPS) 支持 HTTP/2——对于安全的内部网络来说,这是一种不必要且繁重的架构复杂性。 服务器推送变得复杂
  如果不小心使用,HTTP/2 推送功能弊大于利。例如,回访者可能有文件的缓存副本,在这种情况下,服务器不应该推送资源。使推送缓存感知可以解决这个问题,但这有它自己的警告,并且很快就会变得复杂。 那个讨厌的线阻塞头
  HTTP/2 解决了 HTTP 级别的线头阻塞问题,它允许资源在同一连接上被多路复用、同时分解成块。但是,由于数据包丢失并且必须重新以正确的顺序重新发送,  TCP 级别  的线路阻塞仍然可能发生。 HTTP/2 与 HTTP/3 有何不同?
  HTTP/3 的目标是通过解决 HTTP/2 的传输相关问题,在所有形式的设备上提供快速、可靠和安全的 Web 连接。为此,它使用了一种名为 QUIC 的不同传输层网络协议,该协议最初由 Google 开发。
  HTTP/2 和 HTTP/3 的根本区别在于 HTTP/3 在 QUIC 上运行,而 QUIC 在无连接 UDP 上运行,而不是面向连接的 TCP(所有以前版本的 HTTP 都使用)。
  QUIC 中使用的面向连接的 TCP 与无连接 UDP 的比较
  在语法和语义结构方面,HTTP/3 与 HTTP/2 类似。HTTP/3 参与相同类型的请求/响应消息交换,其数据格式包含方法、标头、状态代码和正文。但是,HTTP/3 引入的一个显着差异在于 UDP 之上协议层的堆叠顺序,如下图所示。
  HTTP/3 中的堆叠顺序显示 QUIC 包含安全层和部分传输层
  下表比较了 HTTP/2 和 HTTP/3 的特性和功能:
  HTTP/2 和 HTTP/3 Part 1/2 特性和能力对比表
  HTTP/2 和 HTTP/3 Part 2/2 特性和能力对比表HTTP/2 概述
  HTTP/2 是 HTTP/1.1 的扩展,而不是替代它。应用程序语义保持不变,具有相同的 HTTP 方法、状态代码、URI 和标头字段。
  每个 HTTP/2 连接都以 HTTP/1.1 开始,如果客户端支持 HTTP/2,则连接会升级。HTTP/2 在客户端和服务器之间使用单个 TCP 连接,该连接在交互期间保持打开状态。
  客户端和服务器之间通过 TCP(HTTP/2 底层传输协议)的请求和响应。
  HTTP/2 引入了许多旨在提高性能的特性: 创建交错通信流的二进制帧层。 完全多路复用而不是强制排序并因此阻塞(这意味着它可以使用一个连接进行并行)。 标头压缩以减少开销。 从服务器主动"推送"响应到客户端缓存。
  HTTP/2:优点和缺点 优点通过安装 SSL 证书,所有浏览器都支持基于 HTTPS 的 HTTP/2 协议。 HTTP/2 允许客户端通过单个 TCP 连接同时发送所有请求。理论上,客户端应该更快地接收资源。 TCP 是一种可靠、稳定的连接协议。 缺点并发请求会增加服务器的负载。HTTP/2 服务器可以大批量接收请求,这会导致请求超时。服务器负载峰值问题可以通过插入负载均衡器或代理服务器来解决,这可以限制请求。 服务器对 HTTP/2 优先级的支持还不成熟。软件支持仍在不断发展。某些 CDN 或负载均衡器可能无法正确支持优先级。 HTTP/2 推送功能可能很难正确实现。 HTTP/2 解决了 HTTP 行头阻塞,但 TCP 级别的阻塞仍然会导致问题。 HTTP/2 适合哪些用例?
  HTTP/2 支持 HTTP/1.x 的所有用例,无论它是在浏览器中实现的什么地方,包括桌面 Web 浏览器、移动 Web 浏览器、Web API 和 Web 服务器。但是,它也可以用于代理服务器、反向代理服务器、防火墙和内容分发网络,以及以下情况: 对于响应时间不重要的应用程序。 对于时间关键型应用程序,例如实时消息传递或流应用程序, 只有在 使用合适的自适应技术(例如WebSockets、服务器发送事件 (SSE)、发布-订阅 (pub/sub)消息传递)的情况下。 需要可靠连接的地方(TCP 的优势) 使用受限的物联网设备。 HTTP/3 概述
  HTTP/3 支持快速、可靠和安全的连接。它默认使用 Google 的 QUIC 协议加密 Internet 传输。
  HTTP/3:优点和缺点 优点引入在 UDP 上运行的新(不同)传输协议 QUIC 意味着在理论上和目前实验上都减少了延迟。 因为 UDP 不在协议栈中执行错误检查和纠正,所以它适用于不需要或在应用程序中执行这些的用例。这意味着 UDP 避免了任何相关的开销。UDP 通常用于对时间敏感的应用程序,例如实时系统,这些应用程序不能等待数据包重传,因此可以容忍一些丢弃的数据包 缺点传输层分支。过渡到 HTTP/3 不仅涉及应用层的变化,还涉及底层传输层的变化。因此,与其前身相比,采用 HTTP/3 更具挑战性。 可靠性问题。UDP 应用程序往往缺乏可靠性,因此必须接受一定程度的数据包丢失、重新排序、错误或重复。由最终用户应用程序提供任何必要的握手,例如实时确认消息已被接收。 HTTP/3 尚未标准化。 HTTP/3 适合哪些用例?实时应用程序,例如在线游戏、广告竞价和 IP 语音,以及使用实时流协议的地方。 广播信息如多种服务发现和共享信息如精确时间协议和路由信息协议。这是因为 UDP 支持多播。 物联网。HTTP/3 可以解决物联网用例(例如从连接的传感器收集数据的移动设备)的无线连接丢失问题。 大数据。随着 HTTP/3 变得足够强大,托管的 API 服务将能够进行流式传输,然后随着数据转换为商业智能而货币化。 基于网络的虚拟现实。VR 应用程序需要更多带宽来渲染虚拟场景的复杂细节,并且肯定会从迁移到由 QUIC 提供支持的 HTTP/3 中受益。 微服务:更快(或没有)握手意味着更快地遍历微服务网格。 HTTP/3 入门:HTTP/3 的开源解决方案
  IETF 的 HTTP 工作组仍在致力于发布 HTTP/3。所以它还没有被 NGINX 和 Apache 等 Web 服务器正式支持。但是,有几个软件库可用于试验此新协议,并且还提供非官方补丁。
  以下是支持 HTTP/3 和 QUIC 传输的软件库列表。请注意,这些实现基于互联网草案标准版本之一,该版本可能会被更高版本所取代,最终标准在 RFC 中发布。 quiche  ( https://github.com/cloudflare/quiche ):quiche 提供了一个低级编程接口,用于通过 QUIC 协议发送和接收数据包。它还支持 HTTP/3 模块,用于通过其 QUIC 协议实现发送 HTTP 数据包。它还为 NGINX 服务器提供了一个非官方补丁,用于安装和托管能够运行 HTTP/3 的 Web 服务器。除此之外,还有其他包装器可用于在 Android 和 iOS 移动应用程序上支持 HTTP/3。 Aioquic  ( https://github.com/aiortc/aioquic):Aioquic是 QUIC 的 Python 实现。它还支持 HTTP/3 的内置测试服务器和客户端库。Aioquic 建立在 asyncio 模块之上,这是 Python 的标准异步 I/O 框架。 Neqo  ( https://github.com/mozilla/neqo ):Neqo 是 Mozilla 使用 Rust 实现的 QUIC 和 HTTP/3。
  如果您想玩转 QUIC,请访问QUIC 协议的开源实现页面,由 QUIC 工作组维护。
  注意 :浏览器默认不启用 HTTP/3,必须自己启用。 实现 HTTP/3 的难点
  过渡到 HTTP/3 不仅涉及应用层的变化,还涉及底层传输层的变化。传输层协议的变化可能证明是有问题的。安全服务通常是基于应用程序流量(大部分是 HTTP)将通过 TCP(可靠的、面向连接的协议)传输的前提而构建的。因此,采用 HTTP/3 比采用 HTTP/2 更具挑战性,后者仅需要更改应用程序层。
  传输层经过网络中的中间盒的严格审查。这些中间盒,例如防火墙、代理、NAT 设备,执行大量深度数据包检查以满足其功能需求。用于主要(或仅)TCP 流量的防火墙默认数据包过滤策略有时会降低或阻止长时间的 UDP 会话。
  此外,将传输从 TCP 更改为 UDP 可能会对安全基础设施解析和分析应用程序流量的能力产生重大影响,因为 UDP 是基于数据报(数据包)的协议,并且根据定义可能不可靠。因此,新传输机制的引入给 IT 基础架构和运营团队带来了一些复杂性。
  随着 IETF 正在进行的标准化工作,这些问题最终将得到解决。鉴于谷歌早期对 QUIC 的实验所显示的积极结果,对 HTTP/3 的支持是压倒性的,这最终将迫使供应商进行标准化。 参考资料中文译文链接:https://blog.p2hp.com/archives/9773
  英文作者:Martin Fietkiewicz
  英文链接:https://ably.com/topic/http-2-vs-http-3

2023智能手表推荐评测智能运动手表为喜爱运动的人群打造的手表,能让你享受更科学专业的运动,涵盖了跑步骑行以及游泳等运动模式,可以为他个性化定制训练内容。同时辅以较强的续航能力优秀的防水功能强大的心率检测长虹即将发布中国首款8K高刷MiniLED电视IT之家3月3日消息,长虹电视今日宣布3月10日举行春季新品发布会,发布中国首款8K高刷MiniLED电视。官方表示,3月10日全新升级的长虹电视新品有望让全球看到真正天花板级的电预制菜首次写入中央一号文件,京东云如何帮农户做好这盘菜?预制菜背后的故事撰文Annalee编辑文婕在工作岗位上辛勤劳作一天,下班终于坐着车回了家,走进家门那一刻甚至身心疲惫到只想拿一份可以填饱肚子的食物,迅速吃完然后迎来躺平时刻这一幕或Mellanox网卡交换机FW升级指南flintFirmwareBurningTool注意mstflint与flint命令参数完全一致Flint(Flashinterface)是用于MellanoxInfiniband金百达泪奔!光威天策内存杀来了,32GDDR5巨能超套装竟不到800元前言记得前几年DDR5内存刚刚发布的时候,因为其过高的售价以及提升有限的性能,使得很多小伙伴依然还是坚守DDR4阵地。而到了2023年,还有小伙伴会坚守DDR4吗?要知道现在国内的全球内存接口芯片龙头,业务拓展极具想象空间!从1月10日开始聊半导体到现在将近两个月。趋势如期,但依然有很多的公司等待挖掘,再聊一家芯片设计公司,澜起科技。澜起科技19年上市的时候,招股说明书非常亮眼产品毛利高达70,账面上完全压榨DDR5内存潜力?技嘉B760M小雕高带宽低延迟技术硬核测试前言大家好,我是噩梦飘雷DDR5内存上市也有一年有余了,之前主力机还是AMD5600XB550主板的组合,虽然性能也算够用,但是PCIe4。0的通道还是略少,并且无法体验DDR5内kafka内存设计的艺术kafka之所以能够做到高吞吐,究其原因是因为生产者发送消息使用的是攒批发送的方式。这样做的好处还有可以减少网络上的资源消耗。在新版的KafkaProducer中,设计了一个内存缓2022年中国门球冠军赛重庆分区赛开赛3月2日,2022年中国门球冠军赛重庆分区赛在渝北区黄桷坪体育公园开赛,来自全市的52支门球队,500余名运动员参加本次比赛。本次分区赛的前4名球队,将代表重庆参加即将在四川省举行全球首创糖尿病降糖新药多格列艾汀,实测记录第45天1夜间情况凌晨0点血糖3。9,截至凌晨6点止,血糖最低值为3。9,最高为5。0,平均血糖值为4。5,基本正常。2早餐后情况早起7。13服用了半片多格列艾汀片,8。14分早餐,食用了不吃草的千里马续航1032公里的极氪001要革燃油车的命?在新能源赛道上,除了蔚小理这些造车新势力外,还有一些由传统主流车企推出的新能源品牌,比如吉利旗下的极氪长安旗下的阿维塔东风旗下的岚图等。作为极氪推出的首款车型,极氪001曾多次蝉联
EInk推出Gallery3全彩电子纸技术彩色刷新率大幅提升IT之家4月25日消息,据EInk电子纸公众号消息,EInk元太科技宣布推出新一代全彩电子纸EInkGallery3,锁定电子书阅读器与电子纸笔记本市场。据官方介绍,EInkGal魅族不会凉,天玑9000新机备货,首搭161TB五年不卡面对当下多个不温不火的老友商,或许魅族是最令人惋惜的,它曾经也和华为一样在业界内威望颇高,并坐拥无数魅友。可如今却如同过气的明星,不再受消费者的青睐。其实在产品研发力和使用体验上,雷柏V500PRO多模一键切换炫彩灯效,办公游戏轻松用越来越多的打工人在选择办公产品时优先考虑办公便捷化设备,对于电脑外设产品无线化的优势受到大众喜欢,无线连接,摆脱线材束缚,移动办公更方便!小编最近入手一款兼容日常办公和娱乐游戏机械小米全新上架米家冰箱对开门502L冰晶版首发2799元,风冷无霜设计小米商城最新上架了一款冰箱米家冰箱对开门502L冰晶版,原价3299元,现在首发期间预售价2799元,晒单还返50元红包。米家冰箱对开门502L冰晶版采用风冷无霜设计,360环抱立除了柴米油盐外,囤货潮也刺激冰箱冰柜销量暴增图片来源于网络进入2022年4月,疫情形势仍然严峻,全国各地为了防范不时之需,都会提前准备些食物和日常用品,俗称囤货。随着储存食物需求的暴增,和吃相关的家用电器的需求骤然增加,其中丸碧空气感轻盈洗发水,你身边的秀发守护天使三千烦恼丝,一丝胜一丝,这句话不仅能用来形容我们脑袋里的烦恼,其实用来形容我们脑袋上的烦恼也不为过,头皮油头皮屑干枯掉头发。。今天我就为大家推荐一款我喜爱的丸碧空气感轻盈洗发水,轻做手擀面时,有人加水,有人加油?教你正确做法,爽滑又筋道,香导语做手擀面时,有人加水,有人加油?教你正确做法,爽滑筋道面香浓郁,耐煮不断!人间烟火气,最抚凡人心,柴米油盐酱醋茶,一日三餐四季,承载着烟火气的美食是最能抚慰人心的。大家好,我是人类的存在原因被称为Q球的奇怪量子体可以解释宇宙形成之初最大的宇宙学之谜之一是,为什么宇宙是由非常多的反物质的物质组成的,这就诞生了一个我们人类最大的一个疑问我们为什么而存在。现在,一个理论物理学家小组说他们知道如何找到答案天体物理学家声称准备从太平洋里捞出外星飞行器天体物理学家阿维勒布(AviLoeb)认为,一艘外星宇宙飞船可能于2017年在巴布亚新几内亚马努斯岛(ManusIsland)海岸坠入太平洋。他说他正在策划一项科研项目来证明这一点科学家展示无标记超分辨率显微技术研究人员开发了一种新的测量和成像方法,可以解析小于光衍射极限的纳米结构。光与标本相互作用后,新技术可测量光强度以及光场中编码的其他参数。图片来源约尔格S艾斯曼奥地利格拉茨大学科技日5月11日生效谷歌禁止安卓手机第三方通话录音PChome手机频道报道谷歌将在5月11日起,阻止第三方应用请求AccessibilityAPI进行远程通话录音。受此影响,所有第三方应用将无法使用通话录音功能。谷歌方面声称,这一