Ответ
HTTP-редирект — это механизм, при котором сервер отвечает клиенту (например, браузеру) статусом 3xx, указывая в заголовке Location новый URL для автоматического перехода.
Основные коды состояния:
- 301 Moved Permanently — ресурс перемещён навсегда. Браузеры и поисковики кэшируют это перенаправление.
- 302 Found / 307 Temporary Redirect — ресурс временно доступен по другому адресу.
Как проверить редирект в браузере:
- Откройте Инструменты разработчика (F12).
- Перейдите на вкладку Сеть (Network).
- Выполните запрос и найдите первый ответ со статусом
3xx. - Проверьте заголовок
Locationв ответе — он содержит конечный URL.
Пример реализации на Python (Flask):
from flask import Flask, redirect
app = Flask(__name__)
@app.route('/old-page')
def old_endpoint():
# Постоянный редирект с кодом 301
return redirect('/new-page', code=301)
@app.route('/new-page')
def new_endpoint():
return 'Контент новой страницы'
Практические аспекты для тестирования:
- Убедитесь, что код ответа соответствует бизнес-логике (постоянный vs временный).
- Проверьте, что заголовок
Locationсодержит валидный и абсолютный URL. - Удостоверьтесь, что конечная страница после редиректа возвращает статус
200 OKи корректный контент. - Для SEO критично использовать
301для постоянных переездов страниц.