301 Movido Permanentemente é um código de status de resposta HTTP usado para redirecionamento permanente de URL, o que significa que links ou registros que atualmente utilizem a URL da qual a resposta foi recebida devem ser atualizados para a nova. A nova URL deve ser fornecida no campo Location incluído na resposta.

O redirecionamento 301 é considerado uma boa prática de atualização dos usuários, no caso de mudar de HTTP para HTTPS. RFC 2616 estabelece que: Se um cliente tem suporte à edição de links, ele deve atualizar todas as referências à URL requisitada. A resposta pode ser armazenada em cache.How long do browsers cache HTTP 301s? - https://stackoverflow.com/questions/9130422/how-long-do-browsers-cache-http-301s A não ser que o método da requisição seja HEAD, a entidade deve conter uma pequena nota em hipertexto com um hiperlink para a(s) nova(s) URL(s). Se o código de status 301 é recebido como resposta de uma requisição de qualquer outro tipo que não seja GET ou HEAD, o cliente deve perguntar ao usuário antes de redirecionar.

Exemplo Requisição do cliente: GET /index.php HTTP/1.1 Host: www.example.org Resposta do servidor: HTTP/1.1 301 Moved Permanently Location: http://www.example.org/index.asp

No exemplo a seguir é utilizado um arquivo .htaccess para redirecionar uma URL insegura para um endereço seguro sem o prefixo "www": RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{HTTPS} on RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://example.com/$1 [R,L]

No exemplo a seguir é utilizado um redirecionamento em PHP: <?php header("HTTP/1.1 301 Moved Permanently"); header("Location: http://example.com/newpage.html"); exit(); ?>

Isso é igualmente simples em uma configuração nginx: location /old/url/ { return 301 /new/url; }

Mecanismos de busca Tanto o Bing quanto o Google recomendam o uso de um redirecionamento 301 para alterar a URL de uma página tal como ela é mostrada nos resultados do mecanismo de pesquisa.Site Move Tool - Bing Webmaster Help & How-to - https://www.bing.com/webmaster/help/how-to-use-the-site-move-tool-bb8f5112301 redirects - Google Webmaster Tools Help - http://support.google.com/webmasters/bin/answer.py?hl=en&answer=93633

Referências

Categoria:Códigos de estado do Hypertext Transfer Protocol