Проблема, которую решают новые коды
Классические коды 301 и 302 исторически иногда обрабатывались браузерами так, что запрос, отправленный методом, отличным от простого получения страницы — например, при отправке данных формы, — при перенаправлении мог самопроизвольно превращаться в обычный запрос на получение, теряя изначально переданные данные. Это создавало проблемы для перенаправления, происходящего в процессе отправки форм или API-запросов.
Что гарантируют коды 307 и 308
| Код | Аналог по постоянству | Гарантия метода запроса |
|---|---|---|
| 307 | Временный, как 302 | Метод запроса сохраняется без изменений |
| 308 | Постоянный, как 301 | Метод запроса сохраняется без изменений |
Оба новых кода гарантированно сохраняют исходный метод и переданные данные запроса при перенаправлении, устраняя саму возможность двусмысленной обработки, характерную для старых кодов в определённых пограничных случаях реализации на стороне разных браузеров.
Для обычных редиректов страниц разница практического значения почти не имеет. Для типичного перенаправления посетителя с одного адреса страницы на другой — то есть для подавляющего большинства практических случаев, разобранных в этой серии статей, — классические 301 и 302 работают вполне надёжно и предсказуемо. Разница становится практически значимой именно для технических сценариев с отправкой форм или API-запросов, а не для обычной навигации между страницами каталога или блога.
Конкретные ситуации, где стоит рассмотреть 307 или 308
- Перенаправление на этапе отправки формы, где важно сохранить переданные пользователем данные без искажения.
- Технические API-эндпоинты, взаимодействующие с внешними системами, для которых сохранение метода запроса критично для корректной работы интеграции.
- Ситуации, где ранее наблюдались проблемы с классическими кодами именно из-за изменения метода запроса при перенаправлении.
Как поисковые системы обрабатывают 307 и 308 с точки зрения SEO-веса
С точки зрения передачи SEO-веса современные поисковые системы обычно обрабатывают 308 аналогично 301, а 307 аналогично 302 — то есть выбор между классическими и новыми кодами не создаёт дополнительного SEO-преимущества сам по себе, а решает именно техническую проблему сохранности метода и данных запроса, обсуждённую выше.
Практическая рекомендация для большинства сайтов
Для обычного сайта с типичными редиректами страниц каталога и блога вполне достаточно классических 301 и 302, разобранных в отдельной статье этой серии, — переход на 307 и 308 стоит рассматривать именно тогда, когда возникает конкретная техническая потребность, связанная с сохранением метода запроса, а не как общее правило по умолчанию для всех видов перенаправлений сайта.
Чек-лист
- Использовать 307 и 308 именно для технических сценариев с отправкой форм или API-запросов.
- Помнить, что 308 соответствует по постоянству 301, а 307 — 302.
- Не применять 307 и 308 для обычных редиректов страниц каталога без конкретной технической необходимости.
- Проверять, что используемая платформа и сервер корректно поддерживают эти коды, если решено их применить.
Исторический контекст появления новых кодов
Коды 307 и 308 были добавлены в стандарт заметно позже классических 301 и 302 именно как реакция на накопившуюся практическую путаницу с обработкой метода запроса в разных браузерах и серверных реализациях. Понимание этого исторического контекста помогает воспринимать их не как замену старых кодов, а как узкоспециализированное дополнение для конкретного класса технических проблем.
Как проверить, что сервер и платформа действительно поддерживают эти коды
Прежде чем полагаться на 307 или 308 в критичном сценарии, стоит явно протестировать их обработку на используемой связке сервера и платформы — отправить тестовый запрос и убедиться, что метод и переданные данные действительно сохраняются при перенаправлении, а не предполагать поддержку только на основании общей документации протокола, которая не всегда точно отражает поведение конкретной реализации.
Совместимость со старыми системами и браузерами
При работе с действительно старыми клиентскими приложениями или редко обновляемыми внутренними системами стоит заранее проверить их совместимость с менее распространёнными кодами 307 и 308 — хотя современные браузеры и поисковые роботы поддерживают их корректно, устаревшее программное обеспечение иногда обрабатывает нестандартные для себя коды непредсказуемо.
Частые вопросы
Чем коды редиректа 307 и 308 отличаются от классических 301 и 302?
Они гарантированно сохраняют исходный метод и переданные данные запроса при перенаправлении, устраняя проблему, при которой запрос мог самопроизвольно превращаться в обычный запрос на получение страницы при использовании классических кодов.
Нужно ли использовать 307 и 308 для обычных редиректов страниц сайта?
Обычно нет — для типичного перенаправления между страницами каталога или блога вполне достаточно классических 301 и 302, а новые коды актуальны именно для технических сценариев с формами и API-запросами.
Как поисковые системы обрабатывают SEO-вес при использовании 307 и 308?
Обычно аналогично классическим кодам — 308 как 301, а 307 как 302, поэтому выбор между старыми и новыми кодами не даёт дополнительного SEO-преимущества сам по себе.
Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.