Подтвердить что ты не робот

Как работает HTTP 302?

Как работает HTTP 302? Я хотел бы знать внутренности

4b9b3361

Ответ 1

Вы имеете в виду, как браузеры обрабатывают его? Сервер отправляет код 302 вместе с заголовком Location, а браузер запрашивает новый URI, указанный заголовком Location.

В отличие от 301 (Moved Permanently), браузер продолжает использовать исходный URI для выполнения запросов, если код 302 уходит

Ответ 2

Сервер возвращает ответ HTTP с кодом 302, указывающий временное перенаправление, и включает заголовок Location:, указывающий новый URI, например

HTTP/1.1 302 Found
Location: http://some-other-url

И потенциально другие заголовки на усмотрение сервера.

Обычно браузер принимает это как директиву для автоматического создания нового отдельного запроса для другого URI, указанного в заголовке местоположения. Клиент (браузер) не вынужден это делать (теоретически он может просто отображать сообщение пользователю или делать все, что он хочет), а также то, как обычно ведут себя клиенты HTTP.

Обратите внимание, что поскольку 302 является временным перенаправлением, хорошо выполненный клиент будет продолжать использовать старый URL-адрес в будущем, вместо того, чтобы перейти непосредственно к новому (301 - постоянное перенаправление).

Ответ 3

С: http://www.ietf.org/rfc/rfc2616.txt а также http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

10.3.3 302 Найдено

Запрошенный ресурс временно находится под другим URI.  Поскольку перенаправление может иногда изменяться, клиент ДОЛЖЕН  продолжать использовать Request-URI для будущих запросов. Этот ответ  только кэшируется, если указано заголовком Cache-Control или Expires  поле.

Временной URI ДОЛЖЕН быть предоставлен полем "Место" в  ответ. Если метод запроса не был ГОЛОВЫМ, объект  ответ ДОЛЖЕН содержать короткую гипертекстовую заметку с гиперссылкой на  новый URI (ы).

Если код статуса 302 получен в ответ на запрос другого  чем GET или HEAD, пользовательский агент НЕ ДОЛЖЕН автоматически перенаправлять  запрос, если он не может быть подтвержден пользователем, поскольку это может  изменить условия, при которых был отправлен запрос.

  Note: RFC 1945 and RFC 2068 specify that the client is not allowed
  to change the method on the redirected request.  However, most
  existing user agent implementations treat 302 as if it were a 303
  response, performing a GET on the Location field-value regardless
  of the original request method. The status codes 303 and 307 have
  been added for servers that wish to make unambiguously clear which
  kind of reaction is expected of the client.

Ответ 4

Внутренности чего? 302 - код возврата, который сервер дает клиенту, то, что делает клиент, зависит от него. RFC дают рекомендации относительно того, что должен делать клиент, но в реальном мире 301, 302, 303 и 307 все обрабатываются одинаковыми способами с помощью основных браузеров.

Ответ 5

Просто аддон- Важно отметить, что клиент-клиент останавливается на одном и том же URL-адресе с одинаковым запросом последовательно/часто.