HTTP 302

Відповідь за протоколом HTTP із кодом статусу 302 Found зазвичай використовується для виконання перенаправлення на іншу сторінку. HTTP відповідь з цим статус кодом додатково містить в собі URL-посилання на HTTP локацію в полі HTTP заголовка. Клієнтський браузер таким чином отримує команду виконати другий запит за новим URL-посиланням, яке вказане у заголовку, в іншому випадку повторює запит. В специфікації HTTP/1.0 (RFC 1945) цей код спочатку мав інше описання  — "Тимчасово переміщено".

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

Як наслідок, в новій редакції 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/

Примітки

  1. Lawrence, Eric. HTTP Methods and Redirect Status Codes. EricLaw's IEInternals blog. Процитовано 20 серпня 2011.
  2. Request and response objects | Django documentation | Django. Docs.djangoproject.com. Процитовано 23 червня 2014.
  3. draft-ietf-httpbis-p2-semantics-26 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. Tools.ietf.org. Процитовано 23 червня 2014.

Дивись також

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.