Редирект 308 Permanent Redirect: что значит и когда нужен
308 Permanent Redirect — ресурс навсегда переехал на новый адрес, и запрос нужно повторить туда тем же методом. Это строгий вариант 301: при 308 браузер не превратит POST в GET. Для обычных страниц разницы с 301 почти нет, а для форм и API 308 надёжнее.
Содержание 8
Что означает код 308
По стандарту HTTP код 308 значит, что у ресурса новый постоянный адрес и дальше обращаться нужно по нему. Новый адрес сервер указывает в заголовке Location. В отличие от 301, при 308 запрос повторяется по новому адресу тем же методом: POST остаётся POST.
Как и 301, ответ 308 браузеры могут сохранить в кэше, если сервер не указал иное.
Раньше код 308 описывался в отдельном документе — RFC 7538, а теперь входит в основной стандарт HTTP, RFC 9110.
Старые клиенты
Код 308 появился в июне 2014 года — намного позже 301 и 302, — и стандарт предупреждает, что его понимают не везде. Клиент, который не знает кода 308, по правилам HTTP считает его кодом 300, а при 300 автоматически переходить по адресу он не обязан. Поэтому для обычных страниц, которые открывают методом GET, достаточно 301.
Когда нужен 308
- Переехал адрес API или обработчика форм: POST останется POST, и данные не потеряются.
- Сайт переходит на HTTPS, и на него приходят не только запросы GET — например, запросы к API.
Как настроить 308 в nginx
Код 308 в директиве return поддерживается с версии 1.13.0:
server {
listen 80;
server_name example.com;
return 308 https://example.com$request_uri;
}После любых правок: sudo nginx -t, затем sudo systemctl reload nginx.
В PHP:
header('Location: https://example.com/new-page/', true, 308);
exit;308 и поиск Яндекса
По справке Яндекса, 308 учитывается так же, как 301: адрес, с которого стоит перенаправление, в поиск не попадает, а адрес назначения индексируется, если доступен роботу. Метод, тело и заголовки запроса при перенаправлении сохраняются.
Чем 308 отличается от соседних кодов
| Код | Насколько | Метод запроса |
|---|---|---|
| 301 | Навсегда | POST может смениться на GET |
| 307 | На время | Не меняется |
| 308 | Навсегда | Не меняется |
Источники
- RFC 9110, раздел 15.4.9 — определение кода 308; раздел 15.4 — зачем понадобились 307 и 308; раздел 15 — как клиент понимает незнакомые коды.
- Документация nginx: return.
- Документация PHP: функция header.
- Яндекс Вебмастер: коды ответа HTTP.
Сверено 6 октября 2026 года.
Что почитать дальше
- Редирект 301 — постоянное перенаправление для обычных страниц.
- Редирект 307 — временное перенаправление без смены метода.
- Коды ответа HTTP — полный список с расшифровкой.
- Бесплатный SSL-сертификат — как перевести сайт на HTTPS.
Проверено и обновлено: 07.10.2026