Статус-коды HTTP
Что такое коды состояния 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, URL, код состояния HTTP, короткая ссылка, короткий URL, платная функция, редирект, ссылка, статус-код
