Respostas:
Um status 301 (movido permanentemente) significa que o recurso foi permanentemente movido para um novo local. O cliente (navegador) deve usar o novo local em vez do antigo no futuro.
Um status 302 (encontrado) significa que o recurso está temporariamente localizado em outro lugar. O cliente deve usar o local fornecido para a solicitação atual, mas no futuro deve continuar usando o local antigo.
Ambos os códigos de status terão o efeito de fazer com que o navegador siga um redirecionamento. Você deve optar por usar um status 301 ou 302, dependendo de o redirecionamento ser permanente ou temporário.
Mais informações sobre esses códigos de resposta HTTP podem ser encontradas na RFC 2616 .
Quando uma aranha do mecanismo de pesquisa encontra o código de status 301 no cabeçalho de resposta de uma página da Web, entende que essa página não existe mais, procura pelo cabeçalho do local em resposta, escolhe o novo URL e substitui o URL indexado pelo novo e também transfere o pagerank .
Portanto, o mecanismo de pesquisa atualiza todo o URL indexado que não existe mais (301 encontrado) com o novo URL, isso reterá o tráfego da sua página da Web antiga, pagerank e desviará para a nova (você não perderá o tráfego da página da Web antiga).
Navegador: se um navegador encontrar o código de status 301, ele fará o cache do mapeamento da URL antiga com a nova URL, o cliente / navegador não tentará solicitar o local original, mas usará o novo local a partir de agora até a remoção do cache.
Quando o spider do mecanismo de pesquisa encontrar o status 302 para uma página da web, ele será redirecionado temporariamente apenas para o novo local e rastreará as duas páginas, o URL antigo da página da web ainda existe no banco de dados do mecanismo de pesquisa e sempre tentará solicitar o local antigo e rastreá-lo. o cliente / navegador ainda tentará solicitar o local original.
Leia mais sobre como implementá-lo no asp.net c # e como qual é o impacto no mecanismo de pesquisa - http://www.dotnetbull.com/2013/08/301-permanent-vs-302-temporary-status-code- aspnet-csharp-Implementation.html
Eles são diferentes em SEO.
Para 302, o Google salvará o URL do redirecionador e apontará os usuários para ele.
Além disso (para tinyurl) usando 302, é possível alterar o redirecionamento, por exemplo, no caso de spam (veja http://tinyurl.com/nospam.php?id=amgzs6 exemplo). Usar 301 dificulta a alteração do redirecionamento