【发布时间】:2018-05-09 10:31:33
【问题描述】:
spec 说:
服务器应该在之前发送 PUSH_PROMISE(第 6.6 节)帧 发送任何引用承诺响应的帧。这避免了 客户在收到任何请求之前发出请求的竞赛 PUSH_PROMISE 帧。
例如,如果服务器收到对文档的请求 包含指向多个图像文件和服务器的嵌入式链接 选择将这些额外的图像推送到客户端,发送 包含图像的 DATA 帧之前的 PUSH_PROMISE 帧 链接确保客户端能够看到资源将 在发现嵌入链接之前推送。
在给出的示例中,我假设服务器可以在“包含多个图像文件的嵌入链接的文档”之前或之后发送图像数据。
所有这些都允许吗?
A系列
- 客户端请求文档
- 服务器发送图像的 PUSH_PROMISE
- 服务器发送文档
- 服务器发送图片
B 系列
- 客户端请求文档
- 服务器发送图像的 PUSH_PROMISE
- 服务器发送图片
- 服务器发送文档
C系列
- 客户端请求文档
- 服务器发送图像的 PUSH_PROMISE
- 服务器同时发送图像/文档,即帧被穿插
(在所有情况下,当客户端发出对图像的请求时,它会阻止它们在本地通过承诺的流 id 接收。)
【问题讨论】: