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

Что означает HTTP/1.1 302?

В некоторой статье, которую я прочитал, я сказал, что это означает прыжок (от одного URI к другому), но я обнаружил это "302", даже когда на самом деле не было никаких прыжков!

4b9b3361

Ответ 1

Переадресация 302 означает, что страница была временно перемещена, а 301 означает, что она была постоянно перемещена.

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

Ответ 2

Этот вопрос задавался давно, когда RFC 2616 все еще болтался. Некоторые ответы на этот вопрос основаны на таком документе, который больше не актуален в настоящее время. Цитировать Марка Ноттингема, который на момент написания статьи являлся сопредседателем рабочих групп IETF HTTP и QUIC:

Не используйте RFC2616. Удалите его со своих жестких дисков, закладок и запишите (или ответственно переработайте) все распечатанные копии.

Старый RFC 2616 был заменен следующими документами, которые вместе определяют протокол HTTP/1.1:

  • RFC 7230: синтаксис и маршрутизация сообщений
  • RFC 7231: семантика и контент
  • RFC 7232: условные запросы
  • RFC 7233: запросы диапазона
  • RFC 7234: кэширование
  • RFC 7235: аутентификация

Поэтому я хочу дать ответ, основанный на RFC 7231, который является текущей ссылкой на коды состояния HTTP/1.1.

Код состояния 302

Ответ с 302 является распространенным способом выполнения перенаправления URL. Наряду с кодом состояния 302 ответ должен содержать заголовок Location с другим URI. Такой заголовок будет проанализирован пользовательским агентом, а затем выполнит перенаправление:


Redirection example


Веб-браузеры могут измениться с POST на GET в следующем запросе. Если это поведение нежелательно, вместо него можно использовать код состояния 307 (временное перенаправление).

Вот как код состояния 302 определяется в RFC 7231:

6.4.3. 302 Found

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

Сервер ДОЛЖЕН сгенерировать поле заголовка Location в ответе    содержащий ссылку на URI для другого URI. Пользовательский агент МОЖЕТ    используйте значение поля Location для автоматического перенаправления. Сервера    полезная нагрузка ответа обычно содержит короткую гипертекстовую заметку с    гиперссылка на разные URI.

Примечание: По историческим причинам пользовательский агент МОЖЕТ изменить запрос       метод от POST до GET для последующего запроса. Если это       поведение нежелательно, код состояния 307 (временное перенаправление)       можно использовать вместо этого.

Согласно веб-документам MDN от Mozilla, типичным примером использования 302 является:

Веб-страница временно недоступна по причинам, которые не были непредвиденными. Таким образом, поисковые системы не обновляют свои ссылки.

Другие коды состояния для перенаправления

RFC 7231 определяет следующие коды состояния для перенаправления:

  • 301 (постоянно перемещено)
  • 302 (найдено)
  • 307 (Временное перенаправление)

RFC 7238 создан для определения другого кода состояния для перенаправления:

  • 308 (постоянное перенаправление)

Обратитесь к этому ответу для получения дополнительной информации.

Ответ 3

Простой способ просмотра перенаправления HTTP 301 против 302:

Предположим, что у вас есть закладка " http://sample.com/sample". Вы используете браузер для перехода туда.

A 302 перенаправление на другой URL-адрес в этот момент означает, что вы должны сохранить свою закладку в " http://sample.com/sample". Это связано с тем, что целевой URL может измениться в будущем.

301 переадресация на другой URL-адрес будет означать, что ваша закладка должна измениться, чтобы указать на новый URL-адрес, поскольку это постоянное перенаправление.

Ответ 4

От RFC 2616 (спецификация протокола передачи гипертекста):

10.3.3 302 Found

   The requested resource resides temporarily under a different URI.
   Since the redirection might be altered on occasion, the client SHOULD
   continue to use the Request-URI for future requests.  This response
   is only cacheable if indicated by a Cache-Control or Expires header
   field.

   The temporary URI SHOULD be given by the Location field in the
   response. Unless the request method was HEAD, the entity of the
   response SHOULD contain a short hypertext note with a hyperlink to
   the new URI(s).

Источник:

http://www.ietf.org/rfc/rfc2616.txt

Ответ 5

Из Википедии:

Код состояния ответа HTTP 302 Найден самый распространенный способ выполнение перенаправления. Это пример производственной практики противоречащий стандарту.

Ответ 7

302 - это ответ, указывающий изменение местоположения ресурса - "Найдено".

URL-адрес, в котором должен располагаться ресурс, должен находиться в заголовке ответа "Местоположение".

"Скачок" должен выполняться запрашивающим клиентом (введите новый запрос к URL-адресу ресурса в поле "Поле заголовка ответа" ).

Ответ 8

В период SEO, 301 и 302 оба хороши, это зависит от ситуации,

Если может быть возвращена только одна версия (т.е. другая перенаправляет на нее), это здорово! Такое поведение полезно, потому что оно уменьшает дублирующийся контент. В частном случае переадресации на конечные URL-адреса косой черты наши результаты поиска, скорее всего, покажут версию URL-адреса с кодом ответа 200 (чаще всего конечным косой чертой) - независимо от того, было ли перенаправление 301 или 302.

Ответ 9

HTTP-код 302 предназначен для перенаправления, см. http://en.wikipedia.org/wiki/HTTP_302.

Он сообщает, что просматривает страницу, чтобы перейти в другое место и загрузить другую страницу. Его использование очень распространено.

Ответ 10

Согласно RFC 1945/Протокол передачи гипертекста - HTTP/1.0:

   302 Moved Temporarily

   The requested resource resides temporarily under a different URL.
   Since the redirection may be altered on occasion, the client should
   continue to use the Request-URI for future requests.

   The URL must be given by the Location field in the response. Unless
   it was a HEAD request, the Entity-Body of the response should
   contain a short note with a hyperlink to the new URI(s).

   If the 302 status code is received in response to a request using
   the POST method, the user agent must not automatically redirect the
   request unless it can be confirmed by the user, since this might
   change the conditions under which the request was issued.

       Note: When automatically redirecting a POST request after
       receiving a 302 status code, some existing user agents will
       erroneously change it into a GET request.

Ответ 11

  • Код 302 указывает на временное перенаправление.
  • Одна из наиболее заметных особенностей, отличающих его от перенаправления 301, заключается в том, что в случае перенаправлений 302 сила SEO не переносится на новый URL.
  • Это связано с тем, что это перенаправление предназначено для использования в тех случаях, когда необходимо перенаправить контент на страницу, которая не будет окончательной. Таким образом, после устранения перенаправления исходная страница не потеряет свое положение в поисковой системе Google.

ПРИМЕР: - Несмотря на то, что нам редко требуется перенаправление 302, в некоторых случаях эта опция может быть очень полезной. Это наиболее частые случаи:

  • Когда мы понимаем, что на странице есть неуместное содержание. Пока мы решаем проблему, мы можем перенаправить пользователя на другую страницу, которая может представлять интерес.
  • В случае, если атака на наш сайт требует восстановления любой из страниц, это перенаправление может помочь нам минимизировать Заболеваемость.

Перенаправление 302 - это код, который сообщает посетителям определенного URL-адреса, что страница была временно перемещена, и направляет их непосредственно в новое местоположение.

  • Другими словами, перенаправление 302 активируется, когда роботы Google или другие поисковые системы запрашивают загрузку определенной страницы. В этот момент благодаря этому перенаправлению сервер возвращает автоматический ответ с указанием нового URL.

  • Таким образом, ошибки и неприятности исключаются как для поисковых систем и пользователи, гарантирующие плавную навигацию.

Подробнее см. в этой статье.