http2 rfc http://httpwg.org/specs/rfc7540.html说:
所有HTTP/2请求必须包括:方法、:path和:path伪标头字段的一个有效值。
(请注意,它不包括权威)
对于推送承诺:
服务器必须在服务器具有权威性的权限伪头字段中包含一个值。
我的问题是,对于服务器推送承诺请求帧,服务器是否总是需要包括权限伪头,或者如果它决定包括它,那么它必须是一个权威的权威服务器?
发布于 2017-12-23 16:32:56
我认为:authority报头必须始终包含在PUSH_PROMISE帧中,因为如果证书和IP地址相应地解决,客户端可以对不同的主机名使用相同的连接。
通过添加授权框架,客户端将在被推送的资源和它需要检索的资源之间进行精确的匹配。
如果没有:authority头,客户端可能会假设推送资源是https://example.com/background.png,但后来在从example.com下载的HTML中发现资源是https://images.example.com/background.png;因为URI不匹配,客户端将发出对该资源的请求,而不是使用推送资源。
除了这个解释之外,您可以尝试在没有PUSH_PROMISE的情况下发出一个:authority,并查看各种浏览器的行为:有时实现行为被用来加强规范。
https://stackoverflow.com/questions/47949699
复制相似问题