Um artigo que li uma vez disse que significa saltar (de um URI para outro), mas detectei este "302" mesmo quando na verdade não havia nenhum salto!
120
Um artigo que li uma vez disse que significa saltar (de um URI para outro), mas detectei este "302" mesmo quando na verdade não havia nenhum salto!
Respostas:
Um redirecionamento 302 significa que a página foi movida temporariamente, enquanto um 301 significa que ela foi movida permanentemente.
301s são bons para o valor de SEO, enquanto 302s não são, porque 301s instruem os clientes a esquecer o valor do URL original, enquanto o 302 mantém o valor do original e pode, assim, reduzir potencialmente o valor criando dois URLs logicamente distintos que cada um produz o mesmo conteúdo (os mecanismos de pesquisa os veem como duplicatas distintas, em vez de um único recurso com dois nomes).
fonte
Esta pergunta foi feita há muito tempo, enquanto a RFC 2616 ainda estava por perto. Algumas respostas a essa pergunta estão baseadas neste documento, que não é mais relevante nos dias de hoje. Citando Mark Nottingham que, no momento da redação, co-presidia os grupos de trabalho IETF HTTP e QUIC:
O antigo RFC 2616 foi suplantado pelos seguintes documentos que, juntos, definem o protocolo HTTP / 1.1:
Portanto, pretendo fornecer uma resposta com base na RFC 7231 que é a referência atual para códigos de status HTTP / 1.1.
O
302
código de statusUma resposta com
302
é uma maneira comum de realizar o redirecionamento de URL. Junto com o302
código de status, a resposta deve incluir umLocation
cabeçalho com um URI diferente. Esse cabeçalho será analisado pelo agente do usuário e, em seguida, realizará o redirecionamento:Os navegadores da Web podem mudar de
POST
paraGET
na solicitação subsequente. Se esse comportamento for indesejado, o307
código de status (Redirecionamento temporário) pode ser usado.É assim que o
302
código de status é definido no RFC 7231 :De acordo com os documentos da web MDN da Mozilla , um caso de uso típico para
302
é:Outros códigos de status para redirecionamento
A RFC 7231 define os seguintes códigos de status para redirecionamento:
301
(Movido Permanentemente)302
(Encontrado)307
(Redirecionamento temporário)O RFC 7238 foi criado para definir outro código de status para redirecionamento:
308
(Redirecionamento permanente)Consulte esta resposta para mais detalhes.
fonte
Location
header foi o que me ajudou). Acontece que eu estava ligando para um serviço comhttp
e eles mudaram parahttps
, tudo que recebi em resposta foi que302
, assim que li oLocation
cabeçalho aqui, vi ahttp/https
diferença. Obrigado!Uma maneira simples de ver os redirecionamentos HTTP 301 vs. 302 é:
Suponha que você tenha um favorito para " http://sample.com/sample ". Você usa um navegador para ir até lá.
Um redirecionamento 302 para um URL diferente neste ponto significaria que você deve manter seu favorito em " http://sample.com/sample ". Isso ocorre porque o URL de destino pode mudar no futuro.
Um redirecionamento 301 para um URL diferente significaria que seu favorito deveria mudar para apontar para o novo URL, pois é um redirecionamento permanente.
fonte
Do RFC 2616 (a especificação do protocolo de transferência de hipertexto) :
Fonte:
http://www.ietf.org/rfc/rfc2616.txt
fonte
Da Wikipedia :
fonte
De acordo com as definições de código de status http, um 302 indica um redirecionamento (temporário). "O recurso solicitado reside temporariamente em um URI diferente"
fonte
302 é uma resposta que indica mudança de localização do recurso - "Encontrado".
O url onde o recurso deve estar localizado agora deve estar no cabeçalho 'Local' da resposta.
O "salto" deve ser feito pelo cliente solicitante (faça uma nova solicitação ao url do recurso no campo do cabeçalho Location de resposta).
fonte
Em termos de SEO, 301 e 302 são bons, depende da situação,
Se apenas uma versão puder ser retornada (ou seja, a outra redireciona para ela), ótimo! Esse comportamento é benéfico porque reduz o conteúdo duplicado. No caso específico de redirecionamentos para URLs de barra final, nossos resultados de pesquisa provavelmente mostrarão a versão do URL com o código de resposta 200 (geralmente o URL de barra final) - independentemente de o redirecionamento ser 301 ou 302.
fonte
O código HTTP 302 é para redirecionamento, consulte http://en.wikipedia.org/wiki/HTTP_302 .
Diz ao navegador que está lendo uma página para ir para outro lugar e carregar outra página. Seu uso é muito comum.
fonte
De acordo com RFC 1945 / Hypertext Transfer Protocol - HTTP / 1.0 :
fonte
EXEMPLO: - Embora não seja muito comum precisarmos de um redirecionamento 302, esta opção pode ser muito útil em alguns casos. Estes são os casos mais frequentes:
Um redirecionamento 302 é um código que informa aos visitantes de um URL específico que a página foi movida temporariamente, direcionando-os diretamente para o novo local.
Em outras palavras, o redirecionamento 302 é ativado quando os robôs do Google ou outros motores de busca solicitam o carregamento de uma página específica. Nesse momento, graças a este redirecionamento, o servidor retorna uma resposta automática indicando um novo URL.
Desta forma, erros e incômodos são evitados tanto para os motores de busca quanto para os usuários, garantindo uma navegação tranquila.
Para obter mais detalhes, consulte este artigo .
fonte
Um código de status 302 é o código de status de resposta HTTP que indica que o recurso solicitado foi temporariamente movido para um URI diferente. Como o local ou a diretiva de redirecionamento atual podem ser alterados no futuro, um cliente que recebe um código de resposta 302 encontrado deve continuar a usar o URI original para solicitações futuras.
Uma resposta HTTP com este código de status fornecerá adicionalmente um URL no campo de cabeçalho Location. Este é um convite ao agente do usuário (por exemplo, um navegador da web) para fazer uma segunda solicitação, de outra forma idêntica, para a nova URL especificada no campo de localização. O resultado final é um redirecionamento para o novo URL.
fonte
Para qualquer um que esteja curioso sobre a nomenclatura, vou apenas acrescentar que provavelmente se chama "Encontrado" porque o recurso principal (por exemplo, uma página da web privada) que o usuário pretende receber não está disponível naquele momento (por exemplo, o usuário ainda não provou sua identidade), então, em vez disso, o servidor encontrou um novo recurso que o usuário pode receber (que é uma página de login no caso de uso mais comum).
Também está "se perdendo e achando" na forma de esconde-esconde, o que significa que um recurso perdido sob o status 302 é perdido apenas temporariamente , não deve ser perdido para sempre (a menos que o jogador tenha más intenções;)).
fonte