ページを再読み込みした後、ブラウザが画像を再度取得するのはなぜですか?

ページを再読み込みした後、ブラウザが画像を再度取得するのはなぜですか?

私は Web アプリを開発していますが、画像 (数百 MB 相当、サムネイル 20,000 ~ 50,000 個) はほとんど変更されないため、一度ダウンロードして二度とダウンロードしないようにしたいと考えています。また、これらの画像は YouTube サーバーからダウンロードされるため、サーバーに不必要な負荷をかけたくありません。

しかし、問題は、ページを再読み込みすると、キャッシュされた画像を読み込む代わりに、リクエストが再び大量に送信され始めることです。 これは、ページに移動して再読み込みすると発生しますが、別のページを開いて [戻る] を押すと、画像はキャッシュから読み込まれます。 JavaScript を使用して新しいコンテンツを動的に追加すると、画像もキャッシュから読み込まれます。

では、何が足りないのでしょうか? テストには Windows 10 で XAMPP サーバーを使用しています。

PS: キャッシュを消去する Ctrl+R などのキーの組み合わせではなく、アドレス バーの近くにあるリロード ボタンを使用してリロードしています。

PPS 誰かがコメントする前に明確にしておきますが、私は一度に何千もの画像をダウンロードしているわけではありません。

答え1

HTTP レスポンス キャッシュ ヘッダーはMax-Age86400 秒 (1 日) を指定しているため、ブラウザーは有効期限が切れると画像を取得します。

Max-Age無期限にキャッシュするには、を増やす必要があります。

関連情報