2016-11-14 11 views
0

HttpResponse.PushPromiseHTTP/2 Server Push.を実行します。「未請求」サーバープッシュのIISサーバー側の結果は何ですか

一般的に推奨される使用例は、htmlページの配信中に、css、js、imagesなどの二次リソースをプッシュすることです。

これは最初のリクエストでうまく動作し、htmlが返され、他のすべてのリソースが単一のリクエスト/接続で返されます。

ここで、セカンダリナビゲートが発生します。ブラウザはHTMLを要求し、サーバはそれを返し、他のリソースもプッシュします。ブラウザーにはすでに他のリソースがキャッシュされています。これらのリソースは、「Unclaimed pushed」の状態に移行します。

したがって、請求されていないプッシュが発生した場合、サーバー側はどうなりますか?

答えて

0

IISの実装で何が起こっているかはわかりません。

しかし、一般的なロジックは、ブラウザがプッシュされたストリーム(プッシュプロミスフレーム)を見て、それがそれに興味がないことを認識することです。したがって、ストリームのリセットフレームをサーバーに送信します。サーバは、このプッシュストリームのHTTP/2ストリーム状態をリセット状態にするストリームのリセットフレームを受信します。サーバー上のプッシュされたストリームにまだ何かが書き込まれている場合、これにより失敗し、プッシュは終了します。

関連する問題