Редирект 308
Редирект 308 - это HTTP-код состояния (308 Permanent Redirect), который сообщает браузерам и поисковым системам, что URL был навсегда перенесён на новый адрес. Как и редирект 301, он сигнализирует о постоянном переносе, но с одним критическим отличием: исходный HTTP-метод (GET, POST и т. д.) и тело запроса должны быть сохранены в точности при следовании по редиректу.
Редирект 308 - это HTTP-код состояния (308 Permanent Redirect), который сообщает браузерам и поисковым системам, что URL был навсегда перенесён на новый адрес. Как и редирект 301, он сигнализирует о постоянном переносе, но с одним критическим отличием: исходный HTTP-метод (GET, POST и т. д.) и тело запроса должны быть сохранены в точности при следовании по редиректу.
Почему это важно
Редирект 308 передаёт ссылочный вес новому URL, сохраняя метод запроса при постоянном переносе. Google официально подтвердил, что обрабатывает редиректы 308 так же, как редиректы 301, включая то, как передаётся PageRank. С точки зрения SEO и 301, и 308 подходят для постоянных переносов, но 308 - более безопасный выбор, когда задействованы POST-запросы. Когда поисковые системы получают ответ 308, они со временем заменят старый URL новым URL в своём индексе и передадут новому URL ссылочный вес, накопленный исходным URL.
Отличие от 301
| Характеристика | 308 (Permanent Redirect) | 301 (Moved Permanently) |
|---|---|---|
| Сохранение HTTP-метода | Строго сохраняется (POST остаётся POST) | Метод может измениться (POST может стать GET) |
| Постоянство | Постоянный перенос | Постоянный перенос |
| Передача ссылочного веса | Передаётся новому URL | Передаётся новому URL |
| Поисковый индекс | Старый URL заменяется новым URL | Старый URL заменяется новым URL |
| Поддержка браузерами | Все современные браузеры | Все браузеры, включая устаревшие |
| Основной сценарий использования | Постоянные переносы с сохранением POST | Общие постоянные переносы |
Редирект 301 используется со времён HTTP/1.0 и поддерживается всеми браузерами и краулерами, но некоторые клиенты исторически преобразовывали POST-запросы в GET при следовании по 301. Код состояния 308 был определён в RFC 7538 для решения этой проблемы. Для простых переносов страниц достаточно 301, но для постоянных изменений API-эндпоинтов или URL отправки форм больше подходит 308.
Сценарии использования
- Постоянный перенос API-эндпоинта: при реструктуризации URL REST API эндпоинты, обрабатывающие запросы POST, PUT или DELETE, должны использовать редиректы 308, чтобы гарантировать сохранение метода запроса клиента.
- Постоянное изменение URL отправки форм: когда URL, обрабатывающие POST-запросы для форм регистрации, оплаты или входа, изменяются навсегда, редирект 308 предотвращает потерю данных, отправленных пользователем.
- Миграция домена с сохранением POST: при миграции домена с одновременным переносом эндпоинтов, принимающих POST-запросы, редирект 308 безопасно перенаправляет и метод, и данные.
- Миграция на HTTPS: при постоянном переходе с HTTP на HTTPS использование 308 вместо 301 более точно, если вы хотите гарантировать, что POST-запросы не будут преобразованы в GET.
Связанные материалы inblog
Чем помогает inblog
Панель управления inblog использует коды состояния 308 для постоянных редиректов.