我正在测试我的 HTTP/2 解析器,目前我无法继续测试推送承诺。我使用 Apache 作为 HTTP/2 服务器。我设法使用Location
'sHeader add link
或H2PushResource
. 但是当我尝试继续检查推送承诺时,我无法修改推送请求中发送的标头。
我想为推送的请求添加一些长标题,但我发现的命令不会影响推送的请求:
- RequestHeader在处理内容之前修改请求标头 - 这意味着标头在 Apache 的 HTTP 解析器中被修改,它不会影响发送的推送请求
- 标头修改从服务器发送的响应标头 - 此命令将标头添加到响应,而不是请求
编辑:
我注意到user-agent
在推送的请求中也发送了标头,因此我在请求中发送了一个非常长的用户代理标头,但随后我收到了 431 响应(请求标头字段太大)。
还有什么想法吗?
编辑 2: 这是我的 HTTP/2 配置行:
<Location /push.html>
H2PushResource add "/push.png"
</Location>
Header set MyRespHeader "Testing response"
RequestHeader add MyReqHeader "Testing request"
当我收到来自 Apache 的响应时,我得到了标头myrespheader
,但推送的请求没有发送标头myreqheader
或myrespheader