Я пытаюсь заставить браузер кэшировать различные ресурсы, такие как CSS, изображения, js и т. Д. навсегда .Для браузера важно никогда не пытаться обновить images / css, так как на странице могут быть тысячи маленьких изображений, и когда браузер пытается обновить, он бомбардирует сервер и без необходимости удерживает страницу в режиме обновления.Изображения / CSS никогда не меняются, если не изменен путь запроса.
Прямо сейчас у меня есть путь к изображениям / CSS, установленный для скрипта с URL-адресом вроде:
"http://example.com/img/get.php?n=someimage.jpg&v=7"
и сценарияотправляет эти заголовки перед отправкой ресурса:
header("Cache-Control: public");
header("Expires: Tue, 19 Jan 2037 00:00:00 GMT");
header("Last-Modified: Sat, 01 Jan 2000 00:00:00 GMT");
Однако Chrome и Firefox повторно запрашивают изображение / CSS, если нажата кнопка Обновить.Chrome также отправляет запрос, если вы нажмете Enter в адресной строке, в отличие от Firefox.
Мой вопрос заключается в том, почему они делают это, так как заголовок Expires должен заставить его не выполнять запрос снова до 2037 года, даже еслипользователи нажимают Обновить.Я что-то делаю не так или что-то упустил?