Подробнее о заголовке Last-Modified — last-modified.com

Проверяю…

HTTP заголовок Last-Modified сообщает клиенту (браузеру, поисковому боту) время последнего изменения страницы (объекта). Если клиент получил заголовок Last-Modified, то при следующем обращении к адресу, при условии, что страница (объект) есть в локальном кэше, он добавит заголовок-вопрос If-Modified-Since (не изменилась ли страница после даты, полученной в Last-Modified).

В свою очередь сервер, получив запрос If-Modified-Since должен сверить полученную временную метку с временем последнего изменения страницы и, если страница не изменялась ответить 304 Not Modified.

Экономия Трафика

Если страница не изменилась, то сервер прекратит передачу данных после отправки заголовков с кодом 304 Not Modified, тело страницы, изображения и другие объекты передаваться не будут.

Снижение нагрузки на сервер

Правильная реализация проверки времени последнего изменения страницы может значительно (до 30% и более) сократить нагрузку на сервер. Под правильной реализацией подразумевается проверка времени до начала генерации страницы на динамическом сайте. В таком случае все действия для генерации страницы (запрос контента из базы данных, парсинг шаблонов, получение комментариев и др) выполняться не будут.

Особенно это актуально для сайтов с высокой посещаемостью и долгой продолжительностью визита пользователя. Пример: пользователь находится на сайте спортивных новостей и постоянно обновляет главную страницу в ожидании публикации результата матча. За несколько минут страница может быть запрошена и получена десятки раз. Если заголовок Last-Modified отдается и запрос If-Modified-Since обрабатывается правильно, то реально страница будет передана один раз, а на все последующие запросы будет выдан ответ 304 Not Modified.

Еще пример: джоб борды, например, «работа в Минске». Соискатели, находящиеся на таком сайте в будний день могут неоднократно обновлять страницы разделов в поиске свежих вакансий.

Ускорение индексации поисковыми системами

Поисковые системы через руководство для вебмастеров рекомендуют отсылать заголовок Last-Modified и правильно обрабатывать If-Modified-Since.

Google: Руководство для веб-мастеров

Убедитесь, что ваш веб-сервер поддерживает HTTP-заголовок If-Modified-Since. Этот заголовок позволит веб-серверу сообщать Google, изменилось ли содержание сайта со времени последнего сканирования. Поддержка данной функции сократит нагрузку на пропускную способность и издержки.

Яндекс: Советы вебмастеру

Следите за корректностью http-заголовков. В частности, важно, содержание ответа, который сервер отдает на запрос if-modified-since. Заголовок Last-Modified должен отдавать корректную дату последнего изменения документа. Если сервер не выдает дату последней модификации документа, ваш сайт будет проиндексирован, но:
— в результатах поиска не будет показываться дата рядом со страницами вашего сайта;
— при сортировке по дате сайт не будет виден большинству пользователей;
— робот не сможет получить информацию о том, обновилась ли страница сайта с момента последнего индексирования. А так как число страниц, получаемых роботом с сайта за один заход, ограничено, изменившиеся страницы будут переиндексироваться реже.

Проверить HTTP-заголовки Last-Modified и If-Modified-Since

SEO инструменты и сервисы

  • SEO инструменты
  • Проверка Last-Modified

Следите за корректностью HTTP-заголовков. В частности, важно, содержание ответа, который сервер отдает на запрос If-Modified-Since. Заголовок Last-Modified должен отдавать корректную дату последнего изменения документа.

Правильно настроенный сервер должен возвращать код 304 Not Modified, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела страницы.

Сервис поддерживает IDN-домены и для их проверки не требуется переводить имя домена в Punycode. Просто введите адрес вашего кириллического домена и проверьте HTTP-заголовки Last-Modified и If-Modified-Since.

ЯндексGoogleMail.ruBingYahoo!Google ChromeMozilla FirefoxOperaEdgeInternet ExplorerSafariIE MobileOpera MiniOpera MobileВаш браузерUser-Agent

* На время выполнения этой операции влияет размер страницы, время ответа сервера, загруженность сети и скорость подключения.

После регистрации, рекламу можно заблокировать

HTTP-заголовок Last-Modified

HTTP-заголовок Last-Modified сообщает клиенту время последнего изменения страницы (объекта). Если клиент (браузер, поисковый робот) получил заголовок Last-Modified, то при следующем обращении к адресу, при условии, что страница (объект) есть в локальном кеше, он добавит вопрос If-Modified-Since (не изменилась ли страница после даты, полученной в Last-Modified). В свою очередь сервер, получив запрос If-Modified-Since должен сверить полученную временную метку с временем последнего изменения страницы и, если страница не изменялась ответить 304 Not Modified. Появился в HTTP/1.0.

HTTP-заголовок If-Modified-Since

Заголовок HTTP запроса If-Modified-Since делает запрос условным: сервер отправит обратно запрошенный ресурс с статусом 200 OK (Хорошо), только если он был изменён после указанной даты. Если запрос не был изменён после указанной даты, ответ будет 304 Not Modified (Не изменялось) без какого-либо тела; заголовок Last-Modified при этом будет содержать дату последней модификации. В отличие от If-Unmodified-Since, If-Modified-Since может использоваться только с GET или HEAD. Появился в HTTP/1.0.

При использовании в сочетании с If-None-Match (en-US) заголовок If-Modified-Since игнорируется, кроме тех случаев, когда сервер не поддерживает If-None-Match.

Код состояния HTTP 304 Not Modified

Код состояния HTTP (англ. HTTP status code) является частью первой строки ответа сервера. Он представляет собой целое число из трех арабских цифр. Первая цифра указывает на класс состояния. За кодом ответа обычно следует отделённая пробелом поясняющая фраза на английском языке, которая разъясняет человеку причину именно такого ответа.

304 Not Modified (Не изменялось) — Сервер возвращает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела. Появился в HTTP/1.0.

Зачем нужен Last-Modified

Поисковые системы рекомендуют настроить отправку заголовка Last-Modified и обработку запроса If-Modified-Since. При правильной передаче ответа на запрос If-Modified-Since от сервера к клиенту (браузер, поисковый робот) передаются только измененные страницы. За счет этого получаем следующие эффекты:

Экономия Трафика

Если страница не изменилась, то сервер прекратит передачу данных после отправки заголовков с кодом 304 Not Modified, тело страницы, изображения и другие объекты передаваться не будут.

Снижение нагрузки на сервер

Правильная реализация проверки времени последнего изменения страницы может значительно (до 30% и более) сократить нагрузку на сервер. Под правильной реализацией подразумевается проверка времени до начала генерации страницы на динамическом сайте. В таком случае все действия для генерации страницы (запрос контента из базы данных, парсинг шаблонов, получение комментариев и др) выполняться не будут. Особенно это актуально для сайтов с высокой посещаемостью и долгой продолжительностью визита пользователя. Пример: пользователь находится на сайте спортивных новостей и постоянно обновляет главную страницу в ожидании публикации результата матча. За несколько минут страница может быть запрошена и получена десятки раз. Если заголовок Last-Modified отдается и запрос If-Modified-Since обрабатывается правильно, то реально страница будет передана один раз, а на все последующие запросы будет выдан ответ 304 Not Modified.

Ускорение индексации поисковыми системами

Поисковые системы через руководство для вебмастеров рекомендуют отсылать заголовок Last-Modified и правильно обрабатывать If-Modified-Since.

Убедитесь, что ваш веб-сервер поддерживает HTTP-заголовок If-Modified-Since. Этот заголовок позволит веб-серверу сообщать Google, изменилось ли содержание сайта со времени последнего сканирования. Поддержка данной функции сократит нагрузку на пропускную способность и издержки.

Google: Руководство для веб-мастеров

Следите за корректностью HTTP-заголовков. В частности, важно, содержание ответа, который сервер отдает на запрос If-Modified-Since. Заголовок Last-Modified должен отдавать корректную дату последнего изменения документа. Даже если сервер не выдает дату последней модификации документа (Last-Modified), ваш сайт будет проиндексирован. Однако в этом случае следует учитывать следующее:

  • в результатах поиска не будет показываться дата рядом со страницами вашего сайта;
  • при сортировке по дате сайт не будет виден большинству пользователей;
  • робот не сможет получить информацию о том, обновилась ли страница сайта с момента последнего индексирования. А так как число страниц, получаемых роботом с сайта за один заход, ограничено, изменившиеся страницы будут переиндексироваться реже.
Яндекс: Советы вебмастеру

После регистрации, рекламу можно заблокировать

Поделиться:

Распечатано со страницы: https://tools.seo-auditor.com.ru/if-modified-since/

PDF-файл сгенерирован со страницы: https://tools.seo-auditor.com.ru/if-modified-since/

If-Modified-Since — HTTP | МДН

HTTP-заголовок запроса If-Modified-Since делает условный запрос: сервер отправляет обратно запрошенный ресурс с 200 статус, только если последний раз он был изменен после указанной даты. Если ресурс не был изменен с тех пор, ответ 304 без всякого тела; заголовок ответа Last-Modified предыдущего запрос содержит дату последнего изменения. В отличие от If-Unmodified-Since , If-Modified-Since можно использовать только с GET или HEAD .

При использовании в сочетании с If-None-Match игнорируется, если только сервер не поддерживает If-None-Match .

Наиболее распространенный вариант использования — обновить кэшированный объект, который не имеет связанного с ним объекта.

ETag .

Тип коллектора Заголовок запроса
Запрещенное имя заголовка нет
 If-Modified-Since: <название дня>, <день> <месяц> <год> <час>:<минута>:<секунда> GMT
 
<день-имя>

Один из «Пн», «Вт», «Ср», «Чт», «Пт», «Сб» или «Вс» (с учетом регистра).

<день>

2-значный номер дня, напр. «04» или «23».

<месяц>

Один из «январь», «февраль», «март», «апрель», «май», «июнь», «июль», «август», «сен», «октябрь», «ноябрь», «декабрь» (с учетом регистра).

<год>

4-значный номер года, например «1990» или «2016».

<час>

2-значный номер часа, например. «09» или «23».

<минута>

2-значный номер минуты, напр. «04» или «59».

<секунда>

2-значный второй номер, напр. «04» или «59».

Гринвич

Среднее время по Гринвичу. Даты HTTP всегда выражаются по Гринвичу, а не по местному времени.

 If-Modified-Since: ср, 21 октября 2015 г., 07:28:00 по Гринвичу
 
Спецификация
Семантика HTTP
# field.if-modified-since

Таблицы BCD загружаются только в браузере с включенным JavaScript. Включите JavaScript для просмотра данных.

  • ETag
  • Если-без изменений-с
  • Если-совпадение
  • Если не совпадает
  • 304 Без изменений

Обнаружили проблему с содержанием этой страницы?

  • Отредактируйте страницу на GitHub.
  • Сообщить о проблеме с содержимым.
  • Посмотреть исходный код на GitHub.

Хотите принять более активное участие?

Узнайте, как внести свой вклад.

Последний раз эта страница была изменена участниками MDN.

Если-немодифицированный-с-HTTP | МДН

Заголовок запроса протокола передачи гипертекста (HTTP) If-Unmodified-Since

делает запрос на ресурс условный: сервер отправит запрошенный ресурс или примет его в случай POST или другого небезопасного метода только в том случае, если ресурс не был изменен после даты, указанной в этом HTTP-заголовке. Если ресурс был изменен после указанной даты ответ будет 412 Precondition Failed ошибка.

HTTP-заголовок If-Unmodified-Since обычно используется в следующих ситуациях:

  • В сочетании с небезопасными методами, такими как POST , этот заголовок можно использовать для реализации оптимистичного контроля параллелизма, как это делается в некоторых вики: редакции отклоняются, если сохраненный документ был изменен с момента извлечения оригинала.
  • В сочетании с запросом диапазона с использованием Заголовок диапазона , этот заголовок может использоваться для обеспечения того, чтобы новый запрошенный фрагмент исходил из неизмененного документа.
Тип коллектора Заголовок запроса
Запрещенное имя заголовка нет
 If-Unmodified-Since: <название дня>, <день> <месяц> <год> <час>
:<минута>:<секунда> GMT
<название дня>

Трехбуквенное описание дня недели. Один из «Пн», «Вт», «Ср», «Чт», «Пт», «Сб» или «Вс» (с учетом регистра).

<день>

Двузначный номер дня месяца. Примеры: «04», «23».

<месяц>

Трехбуквенное описание месяца. Один из «январь», «февраль», «март», «апрель», «май», «июнь», «июль», «август», «сен», «октябрь», «ноябрь», «декабрь» ( с учетом регистра).

<год>

Четырехзначный номер года. Примеры: «1990», «2016».

<час>

Двухзначный номер часа в 24-часовом формате. Примеры: «09», «23».

<минута>

Двухзначный номер минуты. Примеры: «04», «59».

<секунда>

Двухзначное второе число. Примеры: «04», «59».

Гринвич

Среднее время по Гринвичу. Даты HTTP всегда выражаются по Гринвичу, а не по местному времени.

 If-Unmodified-Since: ср, 21 октября 2015 г., 07:28:00 по Гринвичу
 

B 90 с включенной загрузкой таблиц браузера CD. Включите JavaScript для просмотра данных.

  • Последнее изменение
  • Если-Изменено-С
  • Если-совпадение
  • Если не совпадает
  • Диапазон
  • 412 Предварительное условие не выполнено

Обнаружили проблему с содержанием этой страницы?

Спецификация
Семантика HTTP
# field.if-unmodified-since