HTTP/2:多个 HTTP 请求更好吗?还是陈述是假的?

Posted

技术标签:

【中文标题】HTTP/2:多个 HTTP 请求更好吗?还是陈述是假的?【英文标题】:HTTP/2 : Wht multiple HTTP request are better? Or is the statement false? 【发布时间】:2017-02-11 22:26:13 【问题描述】:

我正在阅读https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f

一行说

是的,但是因为现在 HTTP/2 即将到来,多个 HTTP 请求实际上更好。

嵌入在该帖子中的所有讽刺中,这句话被认为是真实的。那么,我想知道这个说法是否真的是真的?是的,那么多个请求如何更好?根据我从计算机网络类中了解到的情况,对于每个新的链接资源,在终端主机之间交换一堆消息或数据包,即占用该路径上所有路由器/网桥上的资源/时间/空间。

【问题讨论】:

类比:什么更有效:1)通过开车去商店买杂货,买商品1,开车回家,把它放好,开车回到商店,买商品#2,开车回家等...或 2) 开车去商店,购买物品 1,2,3,..n,开车回家,然后把它们收起来。 Optimizing File Cacheing and HTTP2的可能重复 【参考方案1】:

在 Http/2 中,多个请求的含义与 Http/1.1 略有不同。 Http/2 尝试利用单个连接请求系统,在该系统中,页面完成所有任务后连接关闭。通过这种方式,您可以动态加载较小的库片段并分担开销,这将导致整体下载量小于一个在 Http/1.1 中高效的大型 js 文件。

Marc B 对杂货店的类比说得对,在该类比中,Http/2 是一次到服务器的旅程,它抓取多个片段并返回,而 Http/1.1 是一系列获取相同片段的旅程。

【讨论】:

以上是关于HTTP/2:多个 HTTP 请求更好吗?还是陈述是假的?的主要内容,如果未能解决你的问题,请参考以下文章

你能用.Net Core HttpClient实现Http/2多路复用吗?

包含()资源(css,js)或让浏览器执行另一个请求会更好吗?

HTTP/2 流与 HTTP/1.1 连接

HTTP/2 请求头压缩

网络请求

HTTP/2 是无状态协议吗?