Как включить Cache-control в PHP?

Заголовок Cache-control позволяет установить правила кеширования страниц сайта в браузере. Это позволит значительно снизить трафик, т.к. клиент не будет постоянно запрашивать одни и те же файлы. Лучше всего кешировать файлы, которые не изменяются (либо изменяются не часто, например раз в день).

Включение кеширования

Чтобы включить клиентское кеширование в PHP, нужно добавить такой код в начале страниц, которые необходимо закешировать:

&lt?
header("Cache-control: public");
header("Expires: " . gmdate("D, d M Y H:i:s", time() + 60*60*24) . " GMT");

# Первая строка разрешает браузеру кешировать данные, а вторая сообщает дату, когда кеш будет сброшен (через 1 сутки)

Запрет кеширования

Иногда необходимо запретить кеширование. Например для страницы регистрации, ее результат всегда будет уникальным. Для запрета необходимо добавить такой код в начало страницы:

&lt?
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");

# Первый заголовок устанавливает дату в прошлое, второй говорит о том, что страница всегда уникальная, а третий запрещает кешировать страницу в браузере

Инструменты

Для проверки и тестирования клиентского кеширования используйте Cache control checker.

Подпишитесь на Хайлоад с помощью Google аккаунта
или закройте эту хрень