Назад | Перейти на главную страницу

Как лучше всего установить заголовки Cache-Control в Apache2?

По этой ссылке у вас есть несколько примеров того, как установить Cache-Control заголовки на сервере Apache2. В общем, есть три разных подхода к установке этих заголовков:

  1. Используя оба mod_expires + mod_headers
  2. Использование только mod_headers
  3. Использование только 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.

Таким образом, модули дополняют друг друга.