HttpResponse.PushPromise执行HTTP/2 Server Push.。
一个常见的推荐用例是,在提供html页面的过程中,推送css,js或images等辅助资源。
因此,这在初始请求中正常工作,通过单个请求/连接返回html和所有其他资源。
现在发生辅助导航。浏览器请求html并且服务器返回它,并且还推送其他资源。但浏览器已经缓存了其他资源。这些资源现在进入“无人推动”的状态。
那么当无人认领的推送发生时,服务器端会发生什么?
答案 0 :(得分:0)
我无法确定IIS实施中会发生什么。
但一般的逻辑是,浏览器会看到推送的流(推送承诺框架),并认识到它对它不感兴趣。因此,它会将流的重置帧发送到服务器。服务器接收流的重置帧,该重置帧将该推送流的HTTP / 2流状态置于重置状态。如果还有东西在服务器上写入推送的流,它将因此而失败并且推送将结束。