【问题标题】:http/2: client PUSH_PROMISE frame acceptancehttp/2:客户端 PUSH_PROMISE 帧接受
【发布时间】:2017-11-25 20:45:07
【问题描述】:

spec 说:

一旦客户端收到一个 PUSH_PROMISE 帧并选择接受 推送响应,客户端不应该发出任何请求 承诺的响应,直到承诺的流关闭之后。

这是否解释了报价:

在承诺流关闭之前,客户端不应向本地存储的承诺内容发出任何请求。推测这是因为客户端应该等待所有承诺的内容在本地到达;在流关闭之前读取可能包含不完整的信息。

【问题讨论】:

    标签: http2


    【解决方案1】:

    规范说客户端不应该对承诺的资源发出任何请求;报价谈到访问客户端上承诺的资源数据;这两件事是相关但独立的。

    我认为答案取决于客户端的实现。

    例如,如果推送的资源是图像,则客户端可能决定使用已经到达的数据开始渲染图像 - 即使尚未完成,并在数据到达时继续渲染图像。

    同样的情况也可能适用于推送的 CSS:客户端可能会使用已经到达的数据开始解析它 - 即使不完整;这并不意味着客户端可以应用 CSS 到 DOM,只是它会解析它。

    浏览器可能决定最好等待推送的资源完成后再访问它们;但一般来说,客户端不需要等待,当然规范也没有强制要求访问客户端上的推送资源的任何行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-20
      • 2021-04-19
      • 2021-09-29
      • 1970-01-01
      • 2016-04-20
      • 2014-04-07
      • 2012-11-16
      相关资源
      最近更新 更多