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

     2023-03-10     73

关键词:

【中文标题】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 是一系列获取相同片段的旅程。

【讨论】:

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

...问题描述】:总结Http/2协议提供了通过单个连接多路复用多个请求的能力。这允许更有效地使用连接-请参阅https://http2.github.io/faq/#why-is-http2-mul 查看详情

通过 Ajax 向同一个 HTTP/2 服务器请求多个资源的最快方式

】通过Ajax向同一个HTTP/2服务器请求多个资源的最快方式【英文标题】:FastestwaytorequestmanyresourcesviaAjaxtothesameHTTP/2server【发布时间】:2019-01-1711:30:24【问题描述】:感谢HTTP/2的oneconnectionperoriginprinciple,当网页加载时,浏览器可以... 查看详情

HTTP/2 请求头压缩

】HTTP/2请求头压缩【英文标题】:HTTP/2requestheadercompression【发布时间】:2017-01-0307:21:02【问题描述】:由于我不是专家,所以我有一个关于HTTP/2的一般性问题。众所周知,HTTP2压缩标头以减小消息大小。这仅适用于响应还是也适... 查看详情

网络请求

...单独的TCP连接上支持并发,通过在一个连接上一次性发送多个请求来发送或接收数据) 客户端在请求头部中指定Connection和Upgrade两个字段发起HTTP/1.1协议升级.HTTP/2的协议名称是h2c,代表HTTP/2ClearT 查看详情

我们应该在 HTTP/2 中复用多少并发请求

...服务器。现在有了HTTP/2,我们可以在一个连接上多路复用多个HTTP请求。为了防止服务器过 查看详情

如何验证 okhttp 是不是使用 http/2 进行请求?

】如何验证okhttp是不是使用http/2进行请求?【英文标题】:HowdoIverifyokhttpisusinghttp/2forarequest?如何验证okhttp是否使用http/2进行请求?【发布时间】:2015-08-2001:10:14【问题描述】:如何验证okhttp是否成功协商了http/2而没有使用https/1.... 查看详情

http2的优点

请求和响应的多路复用在HTTP/1.x中,用户想要多个并行的请求来提高性能,但是这样必须得使用多个TCP连接。这样的操作是属于HTTP/1.x发送模型的直接序列,它能保证在每次连接中在一个时间点只有一个响应被发送出去,更糟糕的... 查看详情

http学习记录(代码片段)

...能很好地配合代理服务器工作。支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。SPDYSPDY(发音为"speedy"),是一个由Google主导的研究项目发明的HTTP替代协议。SPDY一开始主要关注降低延迟,采用了TCP通道,但... 查看详情

是否可以使用 Apache HTTPClient 4.2.5 发出 HTTP/2 请求?

】是否可以使用ApacheHTTPClient4.2.5发出HTTP/2请求?【英文标题】:IsitpossibletoMakeHTTP/2requestswithApacheHTTPClient4.2.5?【发布时间】:2020-04-1823:51:12【问题描述】:我正在尝试使用apache客户端发出HTTP/2请求。以下版本可以吗?在我的Web应... 查看详情

http工作模式与模块(代码片段)

...进程:生成和回收n个子进程,创建套接字,不响应请求多个子进程:工作work进程,每个子进程处理一个请求;系统初始时,预先生成多个空闲进程,等待请求,最大不超过1024个(最大限制可以修改,但是还是会存在c10k问题。... 查看详情

http2续

HTTP/2给我们的好处多路复用 :一次TCP握手,多个同域并行请求,请求和响应同时发送接受,然后再拼装组合,不阻塞;优先级和依赖性(Priority) :可以请求的时候告知服务器端,资源分配权重,优先加载重要资源;服... 查看详情

http/2的优先级

...P/2让这些事情变得更好也更复杂了。浏览器可以一次请求多个资源,指定一些优先级信息来帮助确定应该如何处理这些资源,然后等待服务器发回所有数据,而不是一次请求一个。如果浏览器和服务器都支持优先级,则应使用浏... 查看详情

当前的 XHR 实现是不是利用了 HTTP/2?

...您正在运行HTTP/2服务器并希望在浏览器中向服务器发出XHR请求,XHR会自动利用标头中的性能优化以及它提供的性能优化吗?还是会忽略 查看详情

HTTP/1.1 和 HTTP/2 混合请求

】HTTP/1.1和HTTP/2混合请求【英文标题】:HTTP/1.1andHTTP/2mixedrequests【发布时间】:2017-06-1720:29:19【问题描述】:如果部分内容支持HTTP/2,是否所有请求都通过HTTP/1.1处理?例如,我的Web服务器只支持HTTP/1.1,我已经与默认支持HTTP/2的... 查看详情

http协议简介(代码片段)

...求)。管道机制(pipelining,一个TCP连接中客户端可同时发送多个请求)。Content-Length字段(报文内容长度)。Host字段(用于指定服务器域名,可以将请求发往同一台服务器的不同站点)。1.1版本基本完善了HTTP协议,并且一直使用至今... 查看详情

http2.0简介

...数据流,每个数据流承载双向消息,每条消息包含一个或多个帧,帧是最小单位承载特定的数据在应用层新增一个二进制分帧层,用来处理所有http/2新增的特性,对于通过http/2传输的信息细分为消息和帧,使用二进制格式编码。... 查看详情

HTTP/2 世界中的 WebSockets 替代方案是啥?

...途的特性。其中一些:多路复用-单个TCP连接可用于发出多个HTTP/2请求并接收多个响应(到单个源)HTTP/2服务器推送 查看详情

深入理解http/1.xhttp/2和https

...持久连接引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,不用声明Connection:keep-alive(对于同一个域名,大多数浏览器允许同时建立6个持久连接)2、管道机制即在同一个TCP连接里面,客户端可以同时发送多个请求。3... 查看详情