;流、连接、消息和帧";构成http2。让我困惑的是流的概念。
起初,在我看来,流的想法只是对帧流的虚拟描述。但后来我发现http2的优先级是针对流,而不是消息/请求。为什么,我认为客户端和服务器端的应用程序更关心并直接控制请求或消息,而不是这些消息位于哪个流中
请参阅";流优先级":https://developers.google.com/web/fundamentals/performance/http2#design_and_technical_goals
HTTP/2中的流对应于组成请求及其相应响应的所有帧,因此是处理优先级和流控制的自然位置。句子";对该请求的响应应该具有高优先级";以及";该请求的流及其响应应当具有高优先级";是等效的。
你引用的文件中提到了一条载有";一个或多个消息";,但我认为这只是文件中草率的语言。如果你看一下说明书的第8.1节,它说";客户端在一个新的流"上发送HTTP请求;以及";HTTP请求/响应交换完全消耗单个流">
该流中可能还有其他帧,例如PUSH_PROMISE,但这些不是实际的请求和响应;服务器推送的响应数据在一个新的流上发送,然后可以赋予该流不同的优先级。