Заголовки для вывода изображения PNG, чтобы убедиться, что оно кэшируется в браузере?


У меня есть изображения (PNG), которые генерируются динамически и будут встроены в веб-сайты и форумы. Когда изображение публикуется на очень загруженной странице, существует множество подключений к сервису для чего-то, что не часто меняется. Я хочу указать браузеру, как долго его кэшировать.

Итак, какие заголовки мне нужны? В настоящее время у меня есть:

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

Похоже, что браузер не кэширует изображение (оно составляет около 20-30 кб). Что еще было бы необходимо?

Редактировать: Это пример изображения, у меня уже есть URL-адрес с расширением .png: https://images.carspending.com/sigimg/5734/user/honda-accord-2-4i-executive-tourer_medium.png

Author: ddinchev, 2011-09-06

3 answers

Последнее, что сработало, было:

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');

Теперь браузер не запрашивает изображение при загрузке страницы со встроенным изображением.

 30
Author: ddinchev, 2011-09-06 18:40:47

Убедитесь, что вы также добавили public следующим образом:

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

Прочитайте это также, это очень полезно.

 7
Author: Icarus, 2013-11-06 14:32:13

Заголовок Expires должен помочь.

header('Expires: '. gmdate('D, d M Y H:i:s \G\M\T', time() + 86400));
 2
Author: ceejayoz, 2011-09-06 18:15:26