307 Redirect
307 Redirect — это HTTP-Статус временного перенаправления, который гарантирует Сохранение исходного метода запроса (POST, PUT) и тела сообщения при переадресации на новый URL. В отличие от 301 или 302 кодов, этот механизм обязывает Браузер повторить запрос идентично, что критически важно для передачи данных форм и корректной индексации поисковыми роботами.
Главное
- Статус 307 Temporary Redirect указывает на временное изменение адреса ресурса без потери ссылочного веса оригинального URL.
- Ключевое отличие: метод запроса (например, POST) и тело данных строго сохраняются при переходе, в отличие от 301/302.
- Поисковые системы не передают PageRank новому адресу, а продолжают считать основной страницей исходный URL.
- Не кэшируется браузерами по умолчанию, что позволяет мгновенно отменить Перенаправление после завершения работ.
- Применяется при A/B-тестировании, технических работах и временной миграции контента без рисков для SEO.
Как работает 307 Redirect
Механизм действия базируется на стандартах протокола HTTP/1.1 и HTTP/2. Когда Сервер получает запрос клиента, он проверяет условия доступности ресурса. Если ресурс временно недоступен по текущему адресу, Сервер формирует ответ с кодом состояния 307 и заголовком Location, содержащим новый адрес. Браузер считывает этот заголовок и автоматически отправляет тот же самый запрос на новую страницу, используя идентичные параметры и данные.
Важнейшей особенностью является строгая Привязка к методу HTTP. Если Пользователь отправил форму методом POST, Браузер не преобразует её в GET-запрос при редиректе. Это предотвращает потерю конфиденциальных данных и ошибок «Method Not Allowed». Для поисковых роботов такой ответ сигнализирует о том, что Основное содержание всё ещё находится по старому адресу, поэтому они не обновляют индексацию, продолжая сканировать исходную страницу.
Зачем нужен 307 Redirect
Использование данного статуса необходимо для обеспечения целостности данных и сохранения позиций сайта в поисковой выдаче. В Веб-разработке он критичен для обработки транзакционных операций: оплата товаров, Регистрация пользователей или отправка сложных форм требуют гарантии, что данные дойдут до обработчика неизменными. Использование постоянных редиректов в таких случаях привело бы к сбросу параметров запроса и ошибкам безопасности.
В интернет-маркетинге инструмент применяется для гибкого управления трафиком. Маркетологи используют его для проведения A/B-тестирования рекламных кампаний, направляя часть аудитории на альтернативные версии лендингов. При этом основной URL остается в индексе Google и Яндекс, что защищает Сайт от падения ранжирования. Также статус полезен при кратковременном обслуживании серверов, когда нужно скрыть технический сбой от посетителей, не удаляя страницу из выдачи.
Какие бывают виды 307 Redirect
Реализация механизма зависит от уровня настройки и условий срабатывания. Базовый вид — серверная конфигурация, где правило прописывается глобально для всех обращений к определенному пути. Этот вариант обеспечивает максимальную скорость обработки без нагрузки на приложение. Администраторы задают правила через файлы конфигурации веб-сервера, что делает процесс прозрачным для клиентского ПО.
Сложные сценарии реализуются через прикладную логику. Разработчики могут программно возвращать код 307 внутри скриптов (PHP, Python, Node.js) на основе динамических условий: времени суток, геолокации пользователя или наличия куки-файлов. Такой подход позволяет создавать персонализированные маршруты. Также существует условная переадресация, которая активируется только при нарушении специфических требований, например, при попытке доступа к устаревшему API-эндпоинту.
Где используется 307 Redirect
Сфера применения охватывает как технические процессы разработки, так и стратегические задачи продвижения. В электронной коммерции статус применяется при временном снятии товара с продажи: покупатель перенаправляется на категорию или аналог, но страница товара сохраняется в базе данных и индексе. Это позволяет быстро восстановить доступность продукта после пополнения склада без необходимости заново настраивать SEO-параметры.
В сфере API-интеграций сервисы используют код для уведомления клиентов о временном изменении структуры адресов. Если внешний партнер обновляет инфраструктуру, он может вернуть 307, чтобы клиенты автоматически начали использовать новые эндпоинты, сохраняя совместимость старых вызовов. В контекстной рекламе инструмент помогает тестировать гипотезы посадочных страниц, позволяя анализировать конверсию разных вариантов без риска для репутации основного домена.
Пример: установка и чтение 307 Redirect
Настройка переадресации чаще всего осуществляется на уровне веб-сервера Nginx или Apache. Ниже приведен пример конфигурации для Nginx, где все запросы к старой директории перенаправляются на новую с сохранением метода и тела запроса.
<span class="token g">server {</span>
<span class="token g">listen </span><span class="token n">80</span><span class="token g">;</span>
<span class="token g">server_name </span><span class="token v">example.com</span><span class="token g">;</span>
<span class="token g">location /old-page {</span>
<span class="token k">return</span> <span class="token n">307</span> <span class="token s">https://example.com/new-page</span><span class="token p">;</span>
<span class="token g">}</span>
<span class="token g">}</span>
Для проверки корректности работы можно использовать консольную утилиту curl. Команда ниже эмулирует POST-запрос и выводит информацию о заголовках ответа, позволяя убедиться, что сервер вернул именно код 307, а не 301 или 302.
<span class="token fn">curl</span> -I -X POST https://example.com/old-page
В выводе терминала следует искать строку HTTP/1.1 307 Temporary Redirect и заголовок Location: https://example.com/new-page. Отсутствие этих элементов или наличие кода 301 свидетельствует об ошибке конфигурации, требующей корректировки правил сервера.
Часто задаваемые вопросы 307 Redirect
Часто задаваемые вопросы
Отличается ли 307 Redirect от 302?
Да, главное отличие заключается в обработке методов запроса. Код 302 исторически не гарантирует сохранение тела POST-запроса, и многие браузеры преобразуют его в GET. Статус 307 был введен специально для решения этой проблемы, обеспечивая строгое соблюдение исходного метода и данных клиента при перенаправлении.
Передаёт ли 307 Redirect ссылочный вес?
Нет, поисковые системы рассматривают этот статус как временное явление. Ссылочный вес (PageRank) не передается новому адресу, а остается закрепленным за исходным URL. Это отличает его от 301 редиректа, который полностью переносит авторитет страницы на новое место.
Кэшируется ли переадресация браузером?
По умолчанию браузеры не кэшируют ответы со статусом 307. При каждом новом обращении клиент снова запрашивает исходный URL, получая актуальный заголовок Location. Это позволяет администраторам мгновенно отключать перенаправление, убирая правило с сервера, без ожидания очистки кэша у пользователей.
Итоги
307 Redirect представляет собой надежный инструмент для временного управления доступом к ресурсам, гарантирующий целостность данных и сохранение SEO-позиций сайта.
- Статус обеспечивает строгое сохранение HTTP-метода и тела запроса при переадресации.
- Не передает ссылочный вес новому URL, оставляя основной адрес в индексе поисковых систем.
- Не кэшируется клиентами, что позволяет оперативно управлять трафиком и отменять перенаправления.
- Критически важен для обработки форм оплаты и регистрации, предотвращая потерю данных.
- Широко применяется в A/B-тестировании и при проведении технических работ на сайте.
- Настраивается на уровне веб-сервера или приложения для гибкого контроля маршрутизации.
- Является стандартом де-факто для временных перемещений, заменяя ненадежные 302 коды.