これは「コーディングに関する質問」ではなく、「どのように機能するのか」というようなものです。
ページ 2 に重い画像を表示したいと考えてみましょう。この画像をページ 1 (表示なし) にプリロードし、完全にロードされる前にページ 2 リンクをクリックすると... どうなりますか?
=> ページ 2 がロードされ、重い pic の最後もロードされるか、部分的にロードされたファイルに対してキャッシュが機能しない?
ご説明ありがとうございます。
CH
これは「コーディングに関する質問」ではなく、「どのように機能するのか」というようなものです。
ページ 2 に重い画像を表示したいと考えてみましょう。この画像をページ 1 (表示なし) にプリロードし、完全にロードされる前にページ 2 リンクをクリックすると... どうなりますか?
=> ページ 2 がロードされ、重い pic の最後もロードされるか、部分的にロードされたファイルに対してキャッシュが機能しない?
ご説明ありがとうございます。
CH
理論的には、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 サーバーが部分的なコンテンツ要求を処理できることをブラウザーに伝えます。