1

これは「コーディングに関する質問」ではなく、「どのように機能するのか」というようなものです。

ページ 2 に重い画像を表示したいと考えてみましょう。この画像をページ 1 (表示なし) にプリロードし、完全にロードされる前にページ 2 リンクをクリックすると... どうなりますか?

=> ページ 2 がロードされ、重い pic の最後もロードされるか、部分的にロードされたファイルに対してキャッシュが機能しない?

ご説明ありがとうございます。

CH

4

1 に答える 1

0

理論的には、Web ブラウザまたはエンド ユーザーと Web サーバー間のプロキシ サーバーによって、応答の一部がキャッシュされる可能性が非常に高くなります。http はrange requestsをサポートしており、クライアントはリソース全体の特定のスライス (画像など) を要求できます。有名な Web サーバーはすべて範囲リクエストをサポートしています。

Web ブラウザが部分的にダウンロードされたリソースをキャッシュするかどうかはわかりませんが、それは簡単なテストです。Web ブラウザのキャッシュをクリアし、大きな外部オブジェクトをロードする Web ページにアクセスし、途中でロードを停止します。Web サーバーが応答とともに次のヘッダーを送信することを確認します。

cache-control: max-age=10000
accept-ranges: bytes

ここで再度リクエストを行いますが、リクエストの http ヘッダーを見て、 のような部分的なコンテンツを要求するブラウザを探しますRange: bytes=100000-90000000。ファイルが部分的にキャッシュされている場合、明らかに部分的なコンテンツのみを要求します。

max-age ヘッダーは、ファイルがしばらくの間キャッシュ可能であることをブラウザーに伝え、accept-ranges ヘッダーは、Web サーバーが部分的なコンテンツ要求を処理できることをブラウザーに伝えます。

于 2012-03-31T15:30:12.917 に答える