Http2 资源请求如何映射到HTTP/2中的流

Http2 资源请求如何映射到HTTP/2中的流,http2,Http2,我找不到这个RFC,我想知道有没有关于如何将来自HTTP/2客户端的资源请求映射到HTTP/2流的规则 是一对一,其中每个流表示一个资源请求(例如图像、js、html)的数据,还是可以使用一个流传输多个资源 流priories与流依赖项有何不同(对我来说,两者都直接影响资源检索的最终顺序)? 浏览器在处理流和流依赖关系时有什么通用策略吗 非常感谢你的帮助 我找不到这个RFC,我想知道有没有关于如何将来自HTTP/2客户端的资源请求映射到HTTP/2流的规则 是一对一,其中每个流表示一个资源请求(

我找不到这个RFC,我想知道有没有关于如何将来自HTTP/2客户端的资源请求映射到HTTP/2流的规则

是一对一,其中每个流表示一个资源请求(例如图像、js、html)的数据,还是可以使用一个流传输多个资源

流priories与流依赖项有何不同(对我来说,两者都直接影响资源检索的最终顺序)? 浏览器在处理流和流依赖关系时有什么通用策略吗

非常感谢你的帮助

我找不到这个RFC,我想知道有没有关于如何将来自HTTP/2客户端的资源请求映射到HTTP/2流的规则

是一对一,其中每个流表示一个资源请求(例如图像、js、html)的数据,还是可以使用一个流传输多个资源

从:

通过使每个HTTP请求/响应交换与其自己的流相关联来实现请求的多路复用(第5节)

而且:

无法重用流标识符

关于你接下来的问题:

流priories与流依赖项有何不同(对我来说,两者都直接影响资源检索的最终顺序)

它们是同一优先顺序计划的一部分。依赖关系允许某些资源优先于其他资源发送,而优先级加权允许同时发送资源,但加权后可将更多可用带宽按比例分配给某些资源

浏览器在处理流和流依赖关系时有什么通用策略吗

它们都以相同的方式处理流,但依赖关系的处理方式完全不同

  • Chrome大量使用依赖项,并在单个依赖项上创建一个长链,应尽可能按顺序解决。更高优先级的资源被添加到链的更上层。Chrome不使用权重a

  • Safari则相反,发送所有不依赖项但具有适当权重的请求

  • Firefox使用权重和依赖项创建复杂的依赖项树

  • Old Edge没有优先级,因此使用HTTP/2默认值,即同等权重的资源没有依赖关系。新的边缘是基于铬所以如下

人们普遍认为,Chrome通常更好,但在下载那些可以更好地并行下载的资源(例如图像,尤其是渐进式JPEG)时,Chrome会受到影响。Firefox在这方面做得更好,但对于需要整体下载的资源(如关键CSS和JS),它的优化程度略低。狩猎旅行还行,而且通常比两者都差。老边是最糟糕的。这是一次很好的事态谈话:

对于HTTP/3,他们正在考虑改变他们的复杂模型。在这里谈得很好: