На что должны быть установлены поля заголовка HTTP-запроса expires, cache-control и pragma? - PullRequest
5 голосов
/ 29 сентября 2010

У меня есть сайт, на котором я обновляю контент примерно раз в месяц.Когда я проверяю поля заголовка HTTP-запроса, я получаю следующий вывод:

Expires: Thu, 19 Nov 1981 08:52:00 GMT  
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0   
Pragma: no-cache

Мой вопрос, учитывая частоту, с которой я обновляю контент, я имею в виду ручную настройку этих полей, чтобы разрешить кешированиесайт.Я использую php header ();Команда сделать это.

Таким образом, мой вопрос таков: как задать поля заголовка HTTP-запроса expires, cache-control и pragma?Кроме того, я должен установить какие-либо другие поля в дополнение к этим?

Ответы [ 2 ]

1 голос
/ 29 сентября 2010

Вы можете изучить использование ETAG - http://en.wikipedia.org/wiki/HTTP_ETag

0 голосов
/ 29 сентября 2010

Ваш заголовок Expires должен быть датой в будущем, когда срок действия контента истечет, и кэши будут вынуждены извлечь его снова.

Избавиться от заголовка Pragma

Для кэша-Контроль можно добавить: public max-age = 2592000

Предполагая, что вы хотите, чтобы он кэшировался в течение 30 секунд.

Для большего контроля вы должны следовать советам Хафичука и использовать ETags.

Для ссылок на заголовки кэша проверьте Заголовки

...