Заголовок ответа Last-Modified применяется для контроля за состоянием документов на веб-сервере. Он возвращает дату и время последнего изменения документа в ответе на запрос клиента.
Контроль за состоянием страницы
Название директив у заголовка Last-Modified намекает, что они выполняют роль ячеек для хранения информации о дате изменения документа. Синтаксис заголовка при чтении ответа на запрос выглядит так:
Last-Modified: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
Механизм контроля включает в себя несколько этапов проверки состояния документа на веб-сервере:
- Клиент отправляет запрос на веб-сервер с заголовком
If-Modified-Since
, в котором указана дата последнего известного изменения документа; - Веб-сервер проверяет наличие документа и сравнивает дату из запроса с информацией о последнем изменении документа;
- Если дата на веб-сервере более поздняя, то он возвращает документ с кодом ответа 200 OK;
- Если дата на веб-сервере совпадает или раньше указанной в заголовке, то он возвращает код ответа 304 Not Modified без тела ответа;
- Клиент обновляет заголовок Last-Modified документа с новой датой и временем для использования в последующих запросах.
Данный механизм важен для SEO, поскольку позволяет поисковым роботам определить, были ли внесены изменения на странице после их последнего посещения.
В отличие от его аналога — директивы <lastmod>
, которая применяется для URL в файлах Sitemap, дата изменения страниц будет доступна для поисковых ботов независимо от их наличия в карте сайта.
Внедрение заголовка позволяет ускорить индексирование сайта в поисковых системах и сэкономить бюджет на переобход страниц.
Проверка заголовка Last-Modified выполняется посредством его поиска в ответе веб-сервера для чтения даты последнего изменения документа. Оценка испытания зависит от критериев, которые указаны таблице:
Состояние | Результат |
Найден | Успешно |
Не найден | Ошибка |
Рекомендации
Следите за тем, корректно ли содержание ответа, которое веб-сервер отдает на запрос If-Modified-Since. Если робот получит некорректную дату в заголовке Last-Modified, могут возникнуть проблемы с переобходом страниц.