Я управляю веб-сайтом, на котором (статический) контент создается один раз в день. Это позволяет установить параметр истечения срока действия на «изменение плюс 1 день». (Я запускаю apache с mod_expires.)
Большинство файлов на сервере не восстанавливаются каждый день. Если файл не будет регенерирован через день, браузер выполнит повторную проверку, но новый заголовок с истекающим сроком не будет отправлен, поэтому браузер должен повторно проверить файл до тех пор, пока он не будет восстановлен, что может не произойти вообще.
Ежедневное прикосновение к файлам (т.е. обновление времени их модификации) потребует от браузеров повторной загрузки файлов каждый день, а не просто повторной проверки.
Лучшее решение, которое я вижу, - это установить заголовок expires на следующий раз, когда файлы будут регенерированы, тем самым обновляя время истечения один раз в день.
Возможно ли решение, которое я описал (или лучшее), в apache или, возможно, на другом веб-сервере?
Возможно, вы можете попробовать этот обходной путь для своей проблемы, включив в свой файл конфигурации файл с именем expiration.conf
В вашем expiration.conf напишите:
Header set Expires "Tue, 28 Apr 2015 20:00:00 GMT"
И перезагрузите apache. Конечно, вы должны динамически создавать дату каждый день.