У меня есть изображения (PNG), которые генерируются динамически и будут встроены в веб-сайты и форумы. Когда изображение загружается на очень загруженную страницу, существует множество подключений к сервису для чего-то, что не меняется часто. Я хочу сказать браузеру, как долго его кэшировать.
Итак, какие заголовки мне нужны? В настоящее время у меня есть:
Cache-Control: max-age=86400 Content-Type: image/png
Кажется, что браузер не кэширует изображение (он составляет около 20-30 КБ). Что еще нужно?
Изменить: это пример изображения, у меня уже есть URL с расширением .png
: http://img.ruphp.com/php/honda-accord-2-4i-executive-tourer_medium.png
Последнее, что сработало, было:
header('Pragma: public'); header('Cache-Control: max-age=86400'); header('Expires: '. gmdate('D, d MYH:i:s \G\M\T', time() + 86400)); header('Content-Type: image/png');
Теперь браузер не делает запросы на изображение при загрузке страницы с внедренной.
Убедитесь, что вы также добавили публикацию так:
header('Cache-Control: max-age=86400, public');
Прочтите это также , очень полезно.
Должен помочь заголовок Expires
.
header('Expires: '. gmdate('D, d MYH:i:s \G\M\T', time() + 86400));