A barra final é adicionada automaticamente ao clicar no URL da página inicial no navegador?


17

Estou perguntando isso, porque sempre que passo o mouse sobre um link para uma página inicial (por exemplo http://www.example.com), percebo que uma barra final é sempre adicionada (como observado na barra de status do navegador) se o link da página inicial contém um atributo href que termina com uma barra ou não, mas sempre que estou na página inicial, o URL em exibição não tem uma barra final.

Tentei inserir uma barra no URL na barra de URL. E com o Firebug ativado, percebo que o site sempre retorna um status 200 OK. Um artigo aqui discutindo isso afirma que ter uma barra no final evitará um redirecionamento 301. Mas não estou vendo nenhum redirecionamento, mesmo nesta página.

Esse recurso do navegador pode ser acrescentado à barra?


Sim. Por exemplo, eu acho Opera esconde a barra (e também esconde o protocolo, por vezes, o que me deixa louco em dev!) ...
Matt

Qual é exatamente a pergunta aqui? (Ou o objetivo da pergunta.) E a que site "a" você se refere? Se você verificar aqui com webmasters, por exemplo, notará que no Firefox e no Chrome (não estou fazendo uma rodada completa de testes), o que você descreve até a adição de uma barra não acontece. Na verdade, parece forçar a remoção da barra se você tentar adicionar uma, nesse caso.
Su

@Su ', estou me referindo a qualquer site e a barra de status refere-se à exibida na parte inferior de qualquer navegador e a barra de URL refere-se à barra de endereço na parte superior. Desculpe se eu lhe causei confusão.
Pergunta Overflow

2
O @Matt Opera também oculta a string de consulta (pouco depois ?na URL), que é muito boba.
usar o seguinte

Respostas:


28

Sim, todos os navegadores convencionais "acrescentam uma barra" à solicitação HTTP ao solicitar uma URL de domínio simples (por exemplo, a página inicial). Isso é realmente necessário para validar a solicitação HTTP, que http://example.com/é:

GET / HTTP/1.1
Host: example.com

Observe a /(barra) na primeira linha - este é o URL que está sendo solicitado. Não é válido não ter nada aqui. De RFC 2616 :

Observe que o caminho absoluto não pode estar vazio; se nenhum estiver presente no URI original, DEVE ser fornecido como "/" (a raiz do servidor).

Você precisa examinar a solicitação HTTP que o navegador faz para o servidor. O URL exibido na "barra de status do navegador" ou mesmo o URL na barra de endereço pode ser diferente - mais fácil de usar. O Google Chrome não anexa a barra à direita na barra de status, embora a barra esteja presente na solicitação.

Nenhum redirecionamento 301 ocorre se você especificar http://example.com(sem barra) porque o navegador corrige a solicitação HTTP antes de ser feita.

Observe que isso é diferente das barras adicionadas ao final dos URLs quando existe um caminho / diretório. por exemplo. http://example.com/directory/. O artigo ao qual você vincula parece tratar da mesma forma e não parece ser IMO totalmente correto. Se você solicitou http://example.com/directory(sem barra), o navegador não anexa uma barra e sim, a maioria dos servidores 301 será redirecionada para http://example.com/directory/(barra) - mas isso depende do servidor; poderia simplesmente quebrar! No Apache, por exemplo, isso depende da DirectorySlashdiretiva que está sendo definida on.


Para adicionar à resposta, sempre que você estiver vinculando à sua página inicial, adicione a barra final para economizar recursos do servidor.
Anagio

5
@Anagio Acho que você não entende a resposta. Você não salvaria os recursos do servidor porque não há redirecionamento. Um domínio com e sem a barra é 100% idêntico. Em outras palavras, não há absolutamente nenhuma maneira de retornar conteúdo diferente para cada um (o que você pode fazer com os URLs de diretório).
usar o seguinte

1
@DisgruntledGoat, se você deixar a barra final e o servidor redirecionar, a adição de uma barra final nos links evitará que o servidor precise recarregar a página. Isso é tudo o que eu queria chegar, para colocar essa conversa barra para descansar Google tem um ótimo artigo sobre ele googlewebmastercentral.blogspot.com/2010/04/...
Anagio

5
@Anagio Esse artigo é sobre barras finais para diretórios , enquanto esta pergunta é sobre uma barra final somente no domínio . Como a resposta acima afirma, não faz diferença nenhuma, porque um link para example.comou example.com/ambos exige exatamente a mesma solicitação ao servidor.
usar o seguinte

3
... porque o navegador "corrigirá" isso.
unor 15/10/12
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.