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

Заголовок Retry-After и его роль

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

Что представляет собой заголовок Retry-After технически

HTTP/1.1 503 Service Unavailable
Retry-After: 3600

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

Почему заголовок делает простой код 503 заметно более полезным

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

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

Два допустимых формата значения заголовка

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

Использование заголовка и вне контекста кода 503

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

Как проверить, что заголовок действительно настроен и передаётся корректно

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

Чек-лист

  1. Использовать заголовок Retry-After совместно с кодом 503 для более эффективной коммуникации с поисковым роботом.
  2. Указывать по возможности точное, добросовестное время, соответствующее реальному моменту восстановления.
  3. Выбирать формат значения — количество секунд или конкретную дату — в зависимости от точности известного времени возобновления.
  4. Проверять фактическое наличие заголовка в реальном ответе сервера через инструменты разработчика.

Что делать, если точное время восстановления заранее неизвестно

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

Согласованность технического заголовка с публичным сообщением о работах

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

Обновление значения заголовка, если работы неожиданно затягиваются

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

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

Зачем нужен заголовок Retry-After в дополнение к коду 503?

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

В каких форматах можно указывать значение заголовка Retry-After?

Либо количество секунд до предполагаемого повторного обращения, либо конкретная календарная дата и время — второй формат уместен для заранее точно известного и достаточно отдалённого момента возобновления работы.

Что произойдёт, если регулярно указывать неточное время в заголовке Retry-After?

Это может со временем снизить доверие поисковой системы к подобным заявлениям сайта, поэтому добросовестное и по возможности точное указание времени — важная практика, а не формальность.

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

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

4 мин чтения

Код 304 и условные запросы

В отличие от большинства других кодов, разобранных в этой серии статей, 304 не сообщает об ошибке или проблеме, а напротив — эффективно экономит ресурсы обеих сторон обмена.

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

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

Механизм условных запросов и кода 304, разобранный в отдельной статье этой серии, технически опирается на один или сразу оба из этих двух конкретных заголовков.

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

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

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

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