307 Temporary Redirect означает, что целевой ресурс временно находится по URL из заголовка Location и что клиент не должен менять метод запроса, переходя по редиректу. POST остается POST с тем же телом, а PUT — PUT. Последующие запросы по-прежнему нужно отправлять на исходный URL. По умолчанию ответ 307 не кэшируется.
Код 307 добавили в HTTP/1.1, чтобы устранить неоднозначность 302 Found, по которому браузеры после POST переходят методом GET. Используйте его для временных редиректов эндпоинтов API, загрузки файлов и отправки форм — везде, где метод должен сохраниться.
В инструментах разработчика браузера можно увидеть 307 Internal Redirect, если ввести адрес с http:// для сайта, который использует HSTS. Этот редирект создает сам браузер на основе своего списка HSTS, и до сервера запрос не доходит; собственный редирект сервера вполне может быть 301. Серверная проверка, например проверка редиректа на HTTPS от TrueURL, показывает, что на самом деле отправляет сервер.
Пример ответа
HTTP/1.1 307 Temporary Redirect
Date: Fri, 06 Nov 2026 10:15:32 GMT
Location: https://eu.api.example.com/v1/upload
Cache-Control: no-store
Content-Length: 0 SEO и проверка редиректов
Google обрабатывает 307 так же, как 302: это временный редирект и слабый сигнал каноничности, поэтому исходный URL обычно остается в индексе. Для временных ситуаций это правильно; для постоянного переезда используйте 308 или 301. Некоторые фреймворки по умолчанию выдают 307. Например, Next.js использует 307 для редиректов с permanent: false и 308 — для permanent: true, поэтому проверьте, какой код генерирует ваша конфигурация.
Типичные причины и сценарии использования
- Эндпоинт API или загрузки файлов временно переехал, и тело
POST-запросов должно сохраниться после редиректа. - Технические работы, балансировка нагрузки или региональная маршрутизация на время направляют запросы в другое место.
- Временный редирект фреймворка по умолчанию, например в Next.js с
permanent: falseилиRedirectResponseв Starlette и FastAPI. - «307 Internal Redirect» для HSTS в инструментах разработчика браузера: его выдает браузер, а не сервер.