stringtranslate.com

HTTP-код 302

Код статуса ответа HTTP 302 Found является распространенным способом выполнения перенаправления URL . Спецификация HTTP/1.0 ( RFC 1945) изначально определила этот код и дала ему описание «Временно перемещено», а не «Найдено».

HTTP-ответ с этим кодом статуса дополнительно предоставит URL в поле заголовка Location . Это приглашение пользовательскому агенту (например, веб-браузеру) сделать второй, в остальном идентичный, запрос на новый URL, указанный в поле location. Конечным результатом является перенаправление на новый URL.

Многие веб-браузеры реализовали этот код таким образом, что нарушали этот стандарт, изменяя тип запроса нового запроса на GET , независимо от типа, использованного в исходном запросе (например, POST ). [1] По этой причине HTTP/1.1 ( RFC 2616) добавил новые коды статуса 303 и 307 для устранения неоднозначности между двумя поведениями, причем 303 предписывает изменение типа запроса на GET, а 307 сохраняет тип запроса, как он был отправлен изначально. Несмотря на большую ясность, обеспечиваемую этим устранением неоднозначности, код 302 по-прежнему используется в веб-фреймворках для сохранения совместимости с браузерами, которые не реализуют спецификацию HTTP/1.1. [2]

В результате RFC 7231 (обновление RFC 2616) изменяет определение, чтобы разрешить агентам пользователей переписывать POST в GET. [3]

Пример

Запрос клиента:

GET  /index.html  HTTP / 1.1 Хост :  www.example.com

Ответ сервера:

HTTP / 1.1  302  Найдено местоположение :  http://www.iana.org/domains/example/

Смотрите также

Ссылки

  1. ^ Лоуренс, Эрик. "HTTP-методы и коды статуса перенаправления". Блог EricLaw's IEInternals . Получено 20 августа 2011 г.
  2. ^ "Объекты запроса и ответа | Документация Django | Django". Docs.djangoproject.com . Получено 2014-06-23 .
  3. ^ "Протокол передачи гипертекста (HTTP/1.1): семантика и содержание". Tools.ietf.org . Получено 2019-01-05 .

Внешние ссылки