HTTP 302
HTTP |
---|
![]() |
Методы запроса |
Поля заголовка |
Коды статуса ответа |
Методы безопасного контроля доступа |
Уязвимости безопасности |
Код HTTP- ответа состояния 302 Found — это распространенный способ перенаправления URL-адресов . Спецификация HTTP/1.0 ( RFC 1945 ) изначально определил этот код и дал ему в описании фразу «Временно перемещено», а не «Найдено».
Ответ HTTP с этим кодом состояния дополнительно предоставит URL-адрес в поле заголовка Location . Это приглашение пользовательскому агенту (например, веб-браузеру) сделать второй, в остальном идентичный, запрос к новому URL-адресу, указанному в поле местоположения. Конечным результатом является перенаправление на новый URL-адрес.
Многие веб-браузеры реализовали этот код способом, нарушающим этот стандарт, изменяя тип нового запроса на GET независимо от типа, использованного в исходном запросе (например, POST ). [1] По этой причине HTTP/1.1 ( RFC 2616 ) добавил новые коды состояния 303 и 307 для устранения неоднозначности между двумя вариантами поведения: 303 требует изменения типа запроса на GET, а 307 сохраняет тип запроса в исходном виде. Несмотря на большую ясность, обеспечиваемую этим устранением неоднозначности, код 302 по-прежнему используется в веб-фреймворках для сохранения совместимости с браузерами, которые не реализуют спецификацию HTTP/1.1. [2]
Как следствие, RFC 7231 (the update of RFC 2616 ) изменяет определение, чтобы позволить пользовательским агентам перезаписывать POST на GET. [3]
Пример
[ редактировать ]Запрос клиента:
GET /index.html HTTP/1.1
Host: www.example.com
Ответ сервера:
HTTP/1.1 302 Found
Location: http://www.iana.org/domains/example/
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Лоуренс, Эрик. «Методы HTTP и коды состояния перенаправления» . Блог EricLaw IEInternals . Проверено 20 августа 2011 г.
- ^ «Объекты запроса и ответа | Документация Django | Django» . Документы.djangoproject.com . Проверено 23 июня 2014 г.
- ^ «Протокол передачи гипертекста (HTTP/1.1): семантика и контент» . Tools.ietf.org . Проверено 5 января 2019 г.
Внешние ссылки
[ редактировать ]- RFC 9110 Семантика HTTP