Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Блог Вопросы и ответы Создать URL
Основы

Заголовки Last-Modified и ETag

Продолжая тему условных запросов, разберём подробнее конкретные технические инструменты, делающие саму возможность кода 304 реализуемой на практике.

Заголовок Last-Modified: дата последнего изменения

Last-Modified: Wed, 16 Sep 2026 10:00:00 GMT

Сервер сообщает клиенту точную дату и время последнего изменения содержимого страницы — при повторном обращении клиент передаёт эту же дату обратно в условном заголовке запроса, и сервер сравнивает её с фактической актуальной датой последнего изменения, отвечая кодом 304, если ничего не изменилось с указанного момента.

Заголовок ETag: уникальный идентификатор версии содержимого

ETag: "a1b2c3d4e5f6"

Вместо конкретной даты изменения ETag представляет собой уникальную техническую метку, однозначно идентифицирующую конкретную версию содержимого страницы, — при любом изменении содержимого значение метки меняется, что позволяет серверу и клиенту сравнивать версии не по времени, а по прямому сопоставлению самих идентифицирующих меток.

Практическая разница между двумя подходами. Last-Modified проще реализовать технически, поскольку опирается на естественно существующую дату изменения файла, но менее точен — если содержимое технически пересохраняется без реального смыслового изменения, дата обновится без надобности. ETag точнее отражает именно содержательное изменение, но требует дополнительных вычислительных ресурсов сервера на генерацию и сравнение самой уникальной метки при каждом запросе.

Совместное использование обоих заголовков одновременно

Многие современные серверные конфигурации используют оба механизма параллельно, что даёт максимальную надёжность определения актуальности содержимого — если хотя бы один из двух показателей свидетельствует об изменении, сервер отдаёт полное новое содержимое, а код 304 возвращается только при полном совпадении по обоим критериям сразу, если оба заголовка настроены.

Особенность применения для динамически формируемого содержимого

Для страниц, содержимое которых формируется динамически при каждом запросе — например, включает персонализированные элементы для конкретного посетителя, — генерация корректного ETag требует особого внимания, чтобы уникальная метка действительно точно отражала содержательные изменения, а не менялась бы при каждом запросе просто из-за технических особенностей динамической генерации, не связанных с реальным содержательным обновлением.

Практическая настройка на стороне сервера

Большинство современных веб-серверов и систем управления сайтом поддерживают автоматическую генерацию обоих заголовков без необходимости в сложной ручной настройке, особенно для статических файлов, — для динамического содержимого может потребоваться дополнительная явная конфигурация, отражающая специфику конкретного технического механизма генерации содержимого используемой платформы.

Чек-лист

  1. Понимать разницу между Last-Modified как датой изменения и ETag как уникальной меткой версии содержимого.
  2. Рассматривать совместное использование обоих механизмов для максимальной надёжности.
  3. Уделять особое внимание корректной генерации ETag для динамически формируемого содержимого.
  4. Проверять, что используемая платформа действительно поддерживает автоматическую генерацию обоих заголовков.

Различие между строгим и нестрогим сравнением значений ETag

Технически существует два режима сравнения меток ETag — строгий, требующий полного побайтового совпадения содержимого, и более мягкий, допускающий незначительные технические различия при сохранении содержательной эквивалентности, — выбор подходящего режима зависит от конкретной технической ситуации и требуемой точности определения того, что считать значимым изменением содержимого.

Косвенное влияние на общий объём данных, передаваемых при обходе

Для сайта с большим количеством статических ресурсов — изображений, файлов оформления — корректная настройка обоих заголовков способна заметно сократить общий объём данных, передаваемых при каждом повторном обходе уже известных поисковому роботу ресурсов, что дополнительно к экономии времени, разобранной в статье про время ответа сервера и бюджет обхода, снижает и общую техническую нагрузку на канал передачи данных сервера.

Практическая проверка корректной работы обоих заголовков

Аналогично общему подходу, уже упоминавшемуся применительно к другим HTTP-заголовкам в этой серии статей, инструменты разработчика браузера позволяют напрямую увидеть фактические значения Last-Modified и ETag в реальном ответе сервера и убедиться, что оба заголовка действительно присутствуют и корректно изменяются вместе с реальным обновлением содержимого страницы.

Частые вопросы

Чем заголовок ETag отличается от Last-Modified?

Last-Modified указывает конкретную дату последнего изменения содержимого, а ETag представляет собой уникальную техническую метку, точнее отражающую именно содержательное изменение, но требующую больше вычислительных ресурсов на генерацию.

Можно ли использовать оба заголовка одновременно на одном сайте?

Да, многие современные серверные конфигурации используют их параллельно для максимальной надёжности — код 304 возвращается только при полном совпадении по обоим критериям, если оба заголовка настроены.

В чём особенность генерации ETag для динамически формируемого содержимого?

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

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также

4 мин чтения

Время ответа сервера и бюджет обхода

Помимо прямого влияния на удобство обычных посетителей, скорость ответа сервера имеет и менее очевидное, но не менее значимое влияние — на объём страниц, которые поисковый робот успевает обойти.

Читать статью →
4 мин чтения

Таймауты и обрывы соединения при сканировании

Завершая тему кодов ответа и доступности сайта, разберём ситуацию даже более фундаментальную, чем некорректный код ответа, — полное отсутствие ответа или обрыв соединения посреди его получения.

Читать статью →
4 мин чтения

Мягкая 404: как обнаружить и починить

Страница, визуально выглядящая как «ничего не найдено», но технически отвечающая кодом успеха, — классическая ловушка, которую легко пропустить при поверхностной проверке сайта.

Читать статью →