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!
10 answers
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).
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:
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 campoLocation
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
aGET
para o pedido subsequente. Se isto o comportamento é indesejado, o código de Estado307
(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:
O RFC 7238 foi criado para definir outro código de Estado para redireccionamento:
-
308
(Redireccionamento Permanente)
Consulte esta respostapara mais detalhes.
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.
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:
De acordo com as definições de código de situação http a 302 indica um redireccionamento (temporário). "O recurso solicitado reside temporariamente sob um URI diferente"
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.
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.
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).
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.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.