Статус-коды 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 в диалоге Свойств ссылки.](https://res.cloudinary.com/once-to/image/upload/v1623862663/r74pmribrmha9gbck8ad.png)
Чтобы вернуть ссылке поведение по умолчанию, выберите соответствующий пункт (По умолчанию
) из списка.
Теги: HTTP, URL, код состояния HTTP, короткая ссылка, короткий URL, платная функция, редирект, ссылка, статус-код