По этой ссылке у вас есть несколько примеров того, как установить Cache-Control
заголовки на сервере Apache2. В общем, есть три разных подхода к установке этих заголовков:
mod_expires
+ mod_headers
mod_headers
mod_expires
Есть ли между ними какие-то существенные различия? Какой из них предпочтительнее и почему, а может быть, это вообще не имеет значения? Как лучше всего установить Cache-Control
заголовки в Apache2?
Главное отличие в том, что mod_expires не будет заменять / обновлять Cache-Control
заголовки, если Expires
заголовок уже установлен вашим веб-приложением или скриптом и не может использоваться для установки чего-либо, кроме max-age
Заголовок управления кешем.
В Header
директива от mod_headers с другой стороны, его можно настроить так, чтобы он не был таким внимательным, а также с радостью объединит или полностью заменит любые существующие заголовки на новые заголовки, которые вы укажете. Это позволяет вам переопределить все (по умолчанию и не настраивается) Cache-Control
заголовки, установленные вашими веб-приложениями или скриптами, а также любые другие заголовки.
Насколько я знаю, mod_headers не предоставляет интерфейс для выполнения вычислений, которые mod_expires выполняет для вычисления будущих дат, т.е. для установки заголовка Expires на отметку времени now + 1 month
вы не можете использовать директиву Header.
Таким образом, модули дополняют друг друга.