2017-11-25 7 views
0

specは言う:HTTP/2:クライアントPUSH_PROMISEフレームの受け入れ

クライアントがPUSH_PROMISEフレームを受信し、 が応答を押し受け入れることを選択したら がするまで応答を約束したため、クライアントはすべての要求を発行するべきではありません約束されたストリームが閉じた後。

これは引用符を説明してい:

クライアントは、ローカルに保存されているへの要求が約束したストリームが閉じられた後までコンテンツを約束し作るべきではありません。おそらくこれは、クライアントが約束されたすべてのコンテンツがローカルに到着するのを待つべきだからです。ストリームが閉じられる前に読み込みが完了していないと、不完全な情報が返されます。

答えて

1

仕様によれば、クライアントは約束されたリソースを要求してはいけません。見積もりは、クライアント上の約束されたリソースデータへのアクセスについて述べている。 2つのものは関連していますが、独立しています。

私は答えがクライアントの実装に依存すると思います。

たとえば、プッシュされたリソースがイメージの場合、クライアントはまだ到着していないデータがある場合でもイメージのレンダリングを開始する可能性があります。データが到着するとイメージのレンダリングを続けます。

プッシュされたCSSにも同じことが適用される可能性があります。クライアントは、既に到着したデータで解析を開始することがあります。これは、のCSSをDOMに適用していることを意味するものではなく、と解釈すると、です。

ブラウザは、プッシュされたリソースがアクセスする前に完了するのを待つ方が良いと判断する場合があります。一般的にクライアントは待機する必要はなく、クライアント上でプッシュされたリソースにアクセスすることについての仕様を強制するものではありません。

関連する問題