web-dev-qa-db-ja.com

ブラウザにキャッシュされることを確認するためのPNG画像出力のヘッダー?

動的に生成され、ウェブサイトやフォーラムに埋め込まれる画像(PNG)があります。非常にビジーなページに画像が投稿されると、頻繁に変更されないものへのサービスへの接続がたくさんあります。キャッシュする時間をブラウザに伝えたいです。

では、どのヘッダーが必要ですか?現在、私は持っています:

Cache-Control: max-age=86400
Content-Type: image/png

ブラウザが画像をキャッシュしていないようです(約20〜30kb)。他に何が必要でしょうか?

編集:これはサンプル画像です。.png拡張子: https://images.carspending.com/sigimg/5734/user/honda-accord-2-4i-executive-tourer_medium.png

22
ddinchev

最後に機能したのは次のとおりです。

header('Pragma: public');
header('Cache-Control: max-age=86400');
header('Expires: '. gmdate('D, d M Y H:i:s \G\M\T', time() + 86400));
header('Content-Type: image/png');

これで、埋め込まれたページを含むページをロードするときに、ブラウザは画像を要求しません。

34
ddinchev

次のようにpublicも追加してください:

header('Cache-Control: max-age=86400, public');

これもお読みください 、非常に役立ちます。

7
Icarus

Expiresヘッダーが役立つはずです。

header('Expires: '. gmdate('D, d M Y H:i:s \G\M\T', time() + 86400));
2
ceejayoz