и указать браузеру перезагрузить объект (и / или страницу ... все на сайте), только если они были изменены с момента последнего посещения ??? htaccess, httpd.conf ... есть ли у вас готовая директива для моего случая? спасибо Большое
html5boilerplate.com включает хорошо прокомментированный файл .htaccess который имеет множество стандартных настроек, которые вам следует учитывать. Среди них есть разумные настройки для истечения срока действия контента (Expires, E-tags, ...).
Обратите внимание, что Last-Modified
заголовки - это слабые заголовки кеша. Текущее предпочтение - использовать Cache-Control
заголовки.
У Google есть хорошая статья по этому поводу.
Истекает и Cache-Control: max-age. Они определяют «время жизни» ресурса, то есть период времени, в течение которого браузер может использовать кэшированный ресурс, не проверяя, доступна ли новая версия с веб-сервера. Это «сильные заголовки кэширования», которые применяются безоговорочно; то есть, как только они установлены и ресурс загружен, браузер не будет выдавать никаких запросов GET для ресурса до тех пор, пока не будет достигнут срок действия или максимальный возраст.
Last-Modified и ETag. Они определяют некоторые характеристики ресурса, которые браузер проверяет, чтобы определить, совпадают ли файлы. В заголовке Last-Modified это всегда дата. В заголовке ETag это может быть любое значение, однозначно идентифицирующее ресурс (обычно версии файлов или хэши содержимого). Last-Modified - это «слабый» заголовок кэширования, в котором браузер применяет эвристику, чтобы определить, извлекать ли элемент из кеша или нет. (Эвристика различается для разных браузеров.) Однако эти заголовки позволяют браузеру эффективно обновлять кэшированные ресурсы, выдавая условные запросы GET, когда пользователь явно перезагружает страницу. Условные GET не возвращают полный ответ, если ресурс не изменился на сервере, и поэтому имеют меньшую задержку, чем полные GET.
Я рекомендую использовать либо Cache-Control
или Expires
заголовки по мере необходимости, поскольку они являются сильными заголовками кеша. Некоторые системы игнорируют даты последнего изменения.
Затем вы можете использовать такой инструмент, как curl
или http://redbot.org чтобы проверить заголовки.