为什么http2使用优先顺序而不是请求

  • 本文关键字:顺序 请求 http2 http2
  • 更新时间 :
  • 英文 :


;流、连接、消息和帧";构成http2。让我困惑的是流的概念。

起初,在我看来,流的想法只是对帧流的虚拟描述。但后来我发现http2的优先级是针对流,而不是消息/请求。为什么,我认为客户端和服务器端的应用程序更关心并直接控制请求或消息,而不是这些消息位于哪个流中

请参阅";流优先级":https://developers.google.com/web/fundamentals/performance/http2#design_and_technical_goals

HTTP/2中的流对应于组成请求及其相应响应的所有帧,因此是处理优先级和流控制的自然位置。句子";对该请求的响应应该具有高优先级";以及";该请求的流及其响应应当具有高优先级";是等效的。

你引用的文件中提到了一条载有";一个或多个消息";,但我认为这只是文件中草率的语言。如果你看一下说明书的第8.1节,它说";客户端在一个新的流"上发送HTTP请求;以及";HTTP请求/响应交换完全消耗单个流">

该流中可能还有其他,例如PUSH_PROMISE,但这些不是实际的请求和响应;服务器推送的响应数据在一个新的流上发送,然后可以赋予该流不同的优先级。

最新更新