Ответ
HTTP-коды состояния 3xx (Redirection) информируют клиента о том, что для завершения запроса необходимо предпринять дополнительные действия, обычно — обратиться по другому URI (адресу).
Ключевые коды и их семантика:
| Код | Название | Назначение | Кешируемость |
|---|---|---|---|
| 301 | Moved Permanently | Ресурс навсегда перемещен на новый URL. Браузеры и поисковики обновляют ссылки. | Да |
| 302 | Found (ранее Moved Temporarily) | Ресурс временно доступен по другому адресу. Последующие запросы должны идти к исходному URL. | По умолчанию нет |
| 307 | Temporary Redirect | Аналогичен 302, но гарантирует, что метод запроса (GET/POST) не будет изменен при редиректе. | Нет |
| 308 | Permanent Redirect | Аналогичен 301, но гарантирует сохранение метода запроса. | Да |
| 304 | Not Modified | Ответ на условный запрос (с заголовками If-Modified-Since или If-None-Match). Контент не изменился, клиент должен использовать кешированную версию. |
— |
Пример ответа сервера с редиректом 301:
HTTP/1.1 301 Moved Permanently
Location: https://new-example.com/api/v2/resource
Content-Length: 0
Важно: Для POST-запросов использование 301/302 может привести к изменению метода на GET при следующем запросе. Для безопасного перенаправления POST-запросов используйте 307 или 308.