Статус-коды HTTP

Платная функция

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

Что такое статус-код HTTP?

Статус-код или код состояния HTTP — это трёхзначное число, возвращаемое сервером вместе с ответом за HTTP-запрос. Этот код сообщает клиенту (как правило, вашему браузеру) что конкретно означает данный ответ и, иногда, что нужно делать дальше.

Известные статус-коды HTTP сгруппированы по значению в соответствии с первой цифрой:

  • 1xx (информационные)
  • 2xx (успешная обработка запроса)
  • 3xx (перенаправление)
  • 4xx (ошибка клиента)
  • 5xx (ошибка сервера)

Когда речь идёт о коротких URL, прежде всего важны коды из группы 3xx. Именно такие коды возвращает посетителю движок редиректов once.to, чтобы перенаправить его на другой, оригинальный URL.

В рамках данной статьи мы будем рассматривать только коды семейства 3xx.

Почему статус-код HTTP важен?

Различные коды из группы 3xx имеют разный смысл, поэтому обрабатываются они тоже немного по-разному.

Наиболее часто используемые из них это:

  • 301 Moved Permanently — говорит о том, что ресурс всегда будет по указанному адресу.
  • 302 Found (также называемый «Moved temporarily») означает, что перенаправление носит временный характер, так, что одному и тому же исходному URL могут потенциально соответствовать различные адреса назначения в зависимости от обстоятельств.
  • 303 See Other аналогичен по значению 302 Found.
  • 307 Temporary Redirect представляет собой более современную версию кода 302 Found.
  • 308 Permanent Redirect очень похож на 301 Moved Permanently, но, подобно предыдущему, более современен.

Применение различных кодов при редиректе с коротких ссылок имеет два важных следствия.

Кэширование адреса

Редиректы с кодами 301 и 308 обычно кэшируются браузером, вследствие чего повторное посещение того же короткого URL не вызовет повторного запроса к серверу. Другими словами, как только ваш браузер запомнил, на какой адрес его перенаправляют, он будет его использовать, пока его кэш не устареет.

В противоположность вышеописанному, редиректы с кодами 302 и 307 не кэшируются. Поэтому браузер будет опрашивать сервер при каждом обращении к ссылке.

На практике это означает, что коды 301/308 могут несколько искажать статистику кликов (повторяющиеся визиты могут быть не учтены) и могут приводить к тому, что ссылки будут вести себя не так, как ожидается, если они используются в сочетании со ссылками с датой начала или окончания действия, паролями или правилами редиректов, особенно при вероятностном тестировании (A/B-тестировании).

Влияние на SEO

Ещё один момент, который важно учитывать — это то, что только редиректы с кодами 301 и 308 считаются «SEO-безопасными» — потому что они постоянные. Применение временных кодов перенаправления, вероятно, приведёт к тому, что поисковые системы будут ранжировать ваши ссылки ниже.

Поведение по умолчанию

Каждая короткая ссылка изначально создаётся с настройкой Статус-код HTTP, установленной в значение По умолчанию.

Это поведение по умолчанию следующее:

  • Если у ссылки есть Дата начала действия, Дата окончания действия или хотя бы одно правило, она считается изменяемой и, соответственно, перенаправляет с использованием кода 302 Found.
  • Во всех прочих случаях once.to выдаёт редирект с «SEO-безопасным» статус-кодом 301 Moved Permanently.

Задание статус-кода

Такое поведение ссылки можно переопределить, явно задав требуемый код с помощью диалога Свойств ссылки:

Список статус-кодов HTTP в диалоге Свойств ссылки.
Список статус-кодов HTTP в диалоге Свойств ссылки.

Чтобы вернуть ссылке поведение по умолчанию, выберите соответствующий пункт (По умолчанию) из списка.


Теги: , , , , , , , ,