O que significa exactamente HTTP / 1.1 302?

um artigo que li uma vez disse que significa saltar (de um URI para outro), mas eu detectei este "302" mesmo quando não havia realmente nenhum salto em tudo!

Author: CubeJockey, 2009-06-10

10 answers

Um redireccionamento 302 significa que a página foi temporariamente movida, enquanto que um 301 significa que foi movida permanentemente.

301s são bons para SEO valor, enquanto 302s não, porque 301s instruir clientes esquecer o valor do URL original, enquanto a 302 mantém o valor do original e, portanto, pode, potencialmente, reduzir o valor através da criação de duas, logicamente distintas URLs que cada produzir o mesmo conteúdo (motores de busca de vê-los como distintos duplicatas em vez de um único recurso com dois nomes).

 61
Author: CodeMonkey1313, 2009-06-10 00:15:38

Desde junho de 2014, o RFC 2616 é obsoleto e não deve ser utilizado como referência . O RFC 7231 é a referência atual para a semântica e conteúdo do protocolo HTTP/1.1.

Uma resposta com 302 é uma forma comum de realizar redirecionamento de URL. Juntamente com a 302 código do estado, a resposta deve incluir um Location cabeçalho com um URI diferente. Esse cabeçalho será lido pelo agente de usuário e, em seguida, executar o redireccionamento:


Redirection example


Os navegadores da Web podem mudar de POST para GET no pedido subsequente. Se este comportamento não for desejado, o 307 (o código de estado temporário Redirect) pode ser usado em vez disso.

É assim que o 302 o código de Estado é definido na RFC 7231:

6.4.3. 302 encontrado

O 302 (Encontrado) o código de Estado indica que o recurso-alvo reside temporariamente sob um URI diferente. Desde o redireccionamento pode ser alterada de vez em quando, o cliente deve continuar a usar o pedido eficaz URI para futuros pedidos.

O servidor deve gerar um campo de cabeçalho Location na resposta contendo uma referência URI para os diferentes URI. O agente do utilizador pode: use o valor do campo Location para redireccionamento automático. Servidor carga útil da resposta normalmente contém uma nota de hipertexto curta com um hiperligação para os diferentes URI (s).

Nota: por razões históricas, um agente de utilizador pode alterar o pedido método de POST a GET para o pedido subsequente. Se isto o comportamento é indesejado, o código de Estado 307 (redireccionamento temporário) pode ser usado em vez disso.

De acordo com os documentos web MDN do Mozilla , um caso de uso típico para 302 riz:

A Web page está temporariamente indisponível por razões que não foram imprevistas. Assim, os motores de busca não atualizam as ligações.

Outros códigos de Estado para redireccionamento {[[85]}

O RFC 7231 define os seguintes códigos de Estado para redireccionamento:

  • 301 (Transferido Permanentemente)
  • 302 (encontrado)
  • 307 (Redireccionar Temporariamente)

O RFC 7238 foi criado para definir outro código de Estado para redireccionamento:

  • 308 (Redireccionamento Permanente)

Consulte esta respostapara mais detalhes.

 29
Author: Cassio Mazzochi Molin, 2018-07-09 13:57:59

Uma forma simples de ver os redirectos HTTP 301 vs. 302 é:

Suponha que tem um favorito para http://sample.com/sample ". você usa um navegador para ir lá.

Um 302 redireccionar para um URL diferente neste ponto significaria que você deve manter o seu favorito para " http://sample.com/sample ". isto porque o URL de destino pode mudar no futuro.

Um redireccionamento 301 para um URL diferente significaria que o seu favorito deve mudar para apontar para o novo URL como é um redirecionamento permanente.

 24
Author: Redbeard, 2009-06-10 00:18:51

De RFC 2616 (Especificação do Protocolo de transferência de hipertexto):

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).

Fonte:

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

 10
Author: Reginaldo, 2017-01-31 19:50:18
 5
Author: Mitchell McKenna, 2009-06-10 00:11:59

No período de SEO, 301 e 302 ambos são bons, depende da situação,

Se apenas uma versão pode ser devolvida (isto é, o outro redireciona para ela), isso é ótimo! Este comportamento é benéfico porque reduz o conteúdo duplicado. No caso particular da redireciona para a barra de URLs, nossos resultados de pesquisa provavelmente irá mostrar a versão de URL com o código de resposta 200 (na maioria das vezes a barra de URL), independentemente de o redirecionamento foi um 301 ou 302.

 5
Author: Sunil, 2012-12-03 07:13:29

Da Wikipédia:

O código de estado da resposta HTTP 302 Encontrado é a forma mais comum de a redireccionar. É um exemplo de prática industrial contradizendo o padrão.

 4
Author: Paul Sonier, 2009-06-10 00:08:45

302 é uma resposta que indica mudança de localização do recurso - "encontrado".

O url onde o recurso deve estar agora localizado deve estar no cabeçalho 'localização' da resposta.

O" salto " deve ser feito pelo cliente requerente (faça um novo pedido para o URL do recurso no campo cabeçalho da localização da resposta).

 4
Author: Demi, 2009-06-10 00:14:11

O código HTTP 302 é para redireccionamento ver http://en.wikipedia.org/wiki/HTTP_302.

Diz à navegação para ler uma página para ir a outro lado e carregar outra página. Seu uso é muito comum.
 2
Author: BeWarned, 2009-06-10 00:10:35

De acordo com RFC 1945/Hypertext Transfer Protocol-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.
 1
Author: Alexandre Neukirchen, 2017-01-31 17:44:49