0

コンソールを開いた状態で FireFox のリロード ボタンを押すたびに、画像が再ダウンロードされていることがわかります。

最初のダウンロード時にキャッシュされていると思っていたでしょう。

キャッシングを制御するものは何ですか?

JavaScript を使用して一度だけダウンロードされるようにする方法はありますか?

他のサイトを見ると、これは正常なようです。しかし、これはなぜでしょうか。ブラウザーは、変更されない画像をキャッシュするのに十分スマートであると思いました。

4

2 に答える 2

2

画像などのリソースは、適切なキャッシュ制御期限切れヘッダーを使用してキャッシュすることを提案できます。ただし、ブラウザーの再読み込み/更新ボタンをクリックすると、関係なく再ダウンロードされる場合があります。

于 2013-08-17T21:55:40.990 に答える
1

apache/php などのサーバーでコードを実行している場合、php エンジンは、生成されたページの「キャッシュ制御」ヘッダーと「期限切れ」ヘッダーを処理します。コードを使用するか、php.ini を変更して、デフォルトの動作を変更できます。

静的ファイルは Web サーバー (Apache) によって直接共有されます。キャッシュは apache によって行われ、デフォルトを変更する唯一の方法は、apache の構成ファイルを変更することです。

通常、ブラウザがダウンロード済みのファイルを要求すると、サーバーは 304 "Not modified" で応答します。

私の推測では、Web サーバーが正しく構成されていないか、ファイルが将来変更される可能性があります (これは、他のコンピューター/ファイルシステム/タイムゾーンからファイルを移動した場合に発生する可能性があります)。

于 2013-08-17T22:53:40.910 に答える