コンソールを開いた状態で FireFox のリロード ボタンを押すたびに、画像が再ダウンロードされていることがわかります。
最初のダウンロード時にキャッシュされていると思っていたでしょう。
キャッシングを制御するものは何ですか?
JavaScript を使用して一度だけダウンロードされるようにする方法はありますか?
他のサイトを見ると、これは正常なようです。しかし、これはなぜでしょうか。ブラウザーは、変更されない画像をキャッシュするのに十分スマートであると思いました。
コンソールを開いた状態で FireFox のリロード ボタンを押すたびに、画像が再ダウンロードされていることがわかります。
最初のダウンロード時にキャッシュされていると思っていたでしょう。
キャッシングを制御するものは何ですか?
JavaScript を使用して一度だけダウンロードされるようにする方法はありますか?
他のサイトを見ると、これは正常なようです。しかし、これはなぜでしょうか。ブラウザーは、変更されない画像をキャッシュするのに十分スマートであると思いました。
apache/php などのサーバーでコードを実行している場合、php エンジンは、生成されたページの「キャッシュ制御」ヘッダーと「期限切れ」ヘッダーを処理します。コードを使用するか、php.ini を変更して、デフォルトの動作を変更できます。
静的ファイルは Web サーバー (Apache) によって直接共有されます。キャッシュは apache によって行われ、デフォルトを変更する唯一の方法は、apache の構成ファイルを変更することです。
通常、ブラウザがダウンロード済みのファイルを要求すると、サーバーは 304 "Not modified" で応答します。
私の推測では、Web サーバーが正しく構成されていないか、ファイルが将来変更される可能性があります (これは、他のコンピューター/ファイルシステム/タイムゾーンからファイルを移動した場合に発生する可能性があります)。