Опис файлу
Зачем нужен Last-Modified ?
HTTP заголовок Last-Modified сообщает клиенту время последнего изменения страницы (объекта). Если клиент (браузер, поисковый робот) получил заголовок Last-Modified, то при следующем обращении к адресу, при условии, что страница (объект) есть в локальном кеше, он добавит вопрос If-Modified-Since (не изменилась ли страница после даты, полученной в Last-Modified). В свою очередь сервер, получив запрос If-Modified-Since должен сверить полученную временную метку с временем последнего изменения страницы и, если страница не изменялась ответить 304 Not Modified.
http://opencart-cms.ru/screen1.jpg
Экономия Трафика
Если страница не изменилась, то сервер прекратит передачу данных после отправки заголовков с кодом 304 Not Modified, тело страницы, изображения и другие объекты передаваться не будут.
Снижение нагрузки на сервер
Правильная реализация проверки времени последнего изменения страницы может значительно (до 30% и более) сократить нагрузку на сервер. Под правильной реализацией подразумевается проверка времени до начала генерации страницы на динамическом сайте. В таком случае все действия для генерации страницы (запрос контента из базы данных, парсинг шаблонов, получение комментариев и др) выполняться не будут. Особенно это актуально для сайтов с высокой посещаемостью и долгой продолжительностью визита пользователя. Пример: пользователь находится на сайте спортивных новостей и постоянно обновляет главную страницу в ожидании публикации результата матча. За несколько минут страница может быть запрошена и получена десятки раз. Если заголовок Last-Modified отдается и запрос If-Modified-Since обрабатывается правильно, то реально страница будет передана один раз, а на все последующие запросы будет выдан ответ 304 Not Modified.
Ускорение индексации поисковыми системами
Поисковые системы через руководство для вебмастеров рекомендуют отсылать заголовок Last-Modified и правильно обрабатывать If-Modified-Since.
Модуль работает со всеми стандартными типами страниц магазина.
home, category, product, manufacturer, information
Перед покупкой проверьте передает ли ваш сервер параметры $_SERVER['HTTP_IF_MODIFIED_SINCE'] или $_ENV['HTTP_IF_MODIFIED_SINCE'].
Проверить работоспособность модуля можно здесь
https://webmaster.yandex.ru/server-response.xml
В чем отличие от аналогов?
1. Дополнение было разработано в первую очередь для собственных нужд, а не для массмаркета, поэтому сделано с учетом всех возможных "подводных камней".
2. Дополнение в отличии от всех других отдает код 304 не только для роботов поисковиков, но и для браузеров.
Это не просто копипаст или интеграция OpenSource кода, а с 0 разработанный модуль.
3. Основной целью при разработке этого дополнения была задача, максимально автоматизировать отслеживание дат изменения контента, а также сделать дополнение максимально утилитарным в использовании
4. Дополнение использует собственные таблицы хранения дат изменения контента, за счет чего абсолютно минимизирована нагрузка на сервер.
5. При изменение данных, использована интеллектуальная система отслеживания-изменения связанного контента.
6. Дополнение не использует время сервера баз данных - так как на серверах расположенных не в текущей UTC зоне, оно может существенно отличаться и отдавать некорректное значение.
7. Дополнение не отдает 304 заголовок в случае системных исключений (если покупатель авторизован, администратор авторизован, есть товары в корзине или сравнении). Также 304 заголовок исключен для Ajax - запросов.