是否允许HTTP / 2服务器发送PRIORITY帧?

时间:2015-06-21 14:05:10

标签: http2 http2-lawyers

我希望服务器推送一堆内容,但我希望它能按顺序推送。显然,服务器可以按顺序发送内容,但如果服务器实际上可以设置流依赖性(使其显式化,允许客户端在不同意时改变优先级等等)将会很好。这是允许的吗?具体来说,我想立即发送一个PUSH_PROMISE后跟一个PRIORITY帧,将承诺的流设置为前一个流的依赖。

2 个答案:

答案 0 :(得分:0)

很棒的问题!不是一个好的答案,但这是我发现的:

  • (8.2.1) “推送的响应始终与来自客户端的显式请求相关联。服务器发送的PUSH_PROMISE帧在该显式请求的流上发送.PUSH_PROMISE帧还包括承诺流标识符,从服务器可用的流标识符中选择(参见第5.1.1节)“即,PUSH_PROMISE与源流的标头一起使用,然后它包含承诺流的id。这样,新流取决于原始流。

  • (6.3)不说谁可以发送PRIORITY框架,但它指的是5.3。 (5.3)表示只有客户才能将优先级设置为HEADERS框架的一部分。该段的第二句话说,客户和服务器都可以使用PRIORITY框架。不完全清楚,但如果我必须打赌,我会说只有客户。

答案 1 :(得分:0)

HTTP / 2文档尚不清楚,但是对于PRIORITY部分,可以理解,几乎任何人都可以发送它。选中this debate,您将看到一些小组讨论了这种情况。我想说你不应该忽略它,因为如果规范没有禁止它,那么它是允许的,你应该处理它。