Por que tratá-los como URLs com diferentes letras maiúsculas e minúsculas no caminho e barras finais como diferentes?

8

Estes são todos os URLs estritamente diferentes:

http://www.example.com/page
http://www.example.com/pAge
http://www.example.com/page/
http://www.example.com/paGE/

Entendo que está em conformidade com as rígidas regras ISO, mas por quê? Quantos sites existem por aí que tratam pagee page/como URLs diferentes você pode visitar? Ou realmente usar letras maiúsculas para diferenciar conteúdo? Se o fizessem, eu diria que provavelmente estão fazendo errado.

Por que temos que perder nosso tempo em conformidade com essas regras? Não é trivial para o Google descobrir isso pagee page/é a mesma página e provavelmente não deve ser tratado como conteúdo duplicado?

Tom Gullen
fonte

Respostas:

10

Entendo que está em conformidade com as rígidas regras ISO, mas por quê?

Existem diferentes sistemas operacionais por trás dos vários servidores na rede e, para alguns deles, um diretório ou arquivo chamado pagenão é o mesmo que um nome Page. O resultado é que esses são realmente dois locais diferentes e nem mesmo necessariamente o mesmo tipo de local (dir / página). O servidor da web pode ser configurado como não diferencia maiúsculas de minúsculas, mas você não pode assumir isso. Portanto, as regras têm de assumir as coisas que se preocupam com caso e se não o fizerem, então que seja. Realisticamente, provavelmente não é uma boa idéia confiar nas diferenças de caso, mas a situação existe e, portanto, deve ser considerada, às vezes com coisas como mod_speling .

Quantos sites existem que realmente tratam página e página / como diferentes URLs que você pode visitar?

Eles são diferentes. É quase sempre escondido de você:

  1. Quando você acessa example.com/foo/o servidor da Web, está ciente de que está acessando um diretório e, portanto, procura um arquivo correspondente ao que estiver configurado para reconhecer como um índice de diretório. Então, eventualmente, você acaba example.com/index.htmlpor exemplo.
  2. Se você for ao example.com/fooservidor, na verdade, procure um arquivo no diretório raiz chamado just foo. Se ele não encontrar um, em seguida, ele verifica se há um diretório chamado /fooe você pode ir até # 1.

O que você parece estar lendo como um comportamento "normal" no 2 é, na verdade, um substituto para lidar com um caso provável.
Quantos usam nomes de arquivos sem extensão é irrelevante. Novamente: problema real; precisa ser contabilizado.

Se o fizessem, eu diria que provavelmente estão fazendo errado.

Essa é uma opinião.
Você pode fazer backup com vários argumentos práticos sobre a distinção entre maiúsculas e minúsculas e como lidar com URLs sem extensão que eu não necessariamente discordo, mas na verdade você estaria errado em dizer isso.

Su '
fonte
Exemplo feio / irritante para não mexer com o caso: existe um site que eu gerencio, mas o pessoal de TI do cliente gerencia o servidor real. Eles o configuraram para redirecionar todos os acessos de example.com para www.example.com, mas por qualquer motivo, o redirecionamento também forçou tudo em letras minúsculas (não me disseram isso). Os editores do site estavam enviando, por exemplo. CamelCase.jpg. Algum outro código que eu não controlava seria vinculado a essas imagens sem o www, causando todos os tipos de quebra de bobagem até que a caçássemos.
Su '25 /
8

Sem intenção de ofender, mas a Sensibilidade a maiúsculas e minúsculas é VITAL para os URLs hoje - eles são usados ​​milhões de vezes por dia:

bit.ly

  1. http://bit.ly/ri2LhQ
  2. http://bit.ly/ri2LHq

Dois sites muito diferentes - somente possíveis devido à diferenciação entre maiúsculas e minúsculas

Chris Kluis
fonte
3
Adivinha como eu fiz isso? Peguei um URL meu de um caso mudado aleatoriamente. Foram necessárias duas tentativas para criar um URL exclusivo. Com relação ao seu exemplo, em que é relativamente óbvio que cada uma deve ter a mesma página ... é o redirecionamento 301 baseado em servidor ou canônico. Você deve estar encarregado do poder da estrutura da sua URL, e não do próprio protocolo HTTP.
21711 Chris Waters
5

Esta não é uma política do Google, são regras básicas.

Do ponto de vista do usuário do Windows, é difícil entender os nomes de arquivos com distinção entre maiúsculas e minúsculas. No entanto, em sistemas unix / linux, pAge e page não são os mesmos arquivos nem diretórios, e assim por diante, servidores web.

A barra final é um problema de configuração (ou escolha). Lembre-se de que, na maioria dos servidores Web, o servidor emitirá um redirecionamento 30x na / página duas / página /, exigindo, assim, uma segunda solicitação ao servidor.

Você pode deixar seu servidor da Web sem distinção entre maiúsculas e minúsculas e configurá-lo da maneira que desejar em conformidade com suas próprias regras.

Mas, novamente, não está relacionado ao Google de maneira alguma

jflaflamme
fonte