Isso não é realmente uma questão de estética, mas de fato uma diferença técnica. O diretório pensando nisso é totalmente correto e praticamente explica tudo. Vamos resolver isso:
Você está de volta à idade da pedra agora ou veicula apenas páginas estáticas
Você tem uma estrutura de diretórios fixa no servidor da Web e apenas arquivos estáticos, como imagens, html e assim por diante - sem scripts do lado do servidor ou qualquer outro.
Um navegador solicita /index.htm
, ele existe e é entregue ao cliente. Mais tarde, você terá muitos - digamos - filmes em DVD revisados e uma página html para cada um deles no /dvd/
diretório. Agora alguém solicita /dvd/adams_apples.htm
e é entregue porque está lá.
Em algum dia, alguém apenas solicita /dvd/
- que é um diretório e o servidor está tentando descobrir o que entregar. Além de restrições de acesso e assim por diante, existem duas possibilidades: mostrar ao usuário o conteúdo do directório (Aposto que você já viu isso em algum lugar) ou mostrar um arquivo padrão (em Apache é: DirectoryIndex: sets the file that Apache will serve if a directory is requested.
)
Até aqui tudo bem, este é o caso esperado. Ele já mostra a diferença no manuseio, então vamos entrar nele:
Às 5:34 da manhã, você cometeu um erro ao enviar seus arquivos
(O que é totalmente compreensível.) Então, você fez algo totalmente errado e, em vez de carregar, /dvd/the_big_lebowski.htm
carregou o arquivo como dvd
(sem extensão) para /
.
Alguém marcou a sua /dvd/
listagem de diretórios (é claro que você não queria criar e sempre atualizava essa aparência bacana index.htm
) e está visitando seu site. O conteúdo do diretório é entregue - tudo bem.
Alguém ouviu falar da sua lista e está digitando /dvd
. E agora está ferrado. Em vez de listar o diretório de DVD, o servidor encontra um arquivo com esse nome e está entregando o arquivo Big Lebowski.
Então, você exclui esse arquivo e diz ao cara para recarregar a página. Seu servidor procura o /dvd
arquivo, mas ele se foi. A maioria dos servidores notará que existe um diretório com esse nome e informará ao cliente que o que ele estava procurando realmente está em outro lugar. A resposta provavelmente será:
Status Code:301 Moved Permanently
com Location: http://[...]/dvd/
Portanto, ignorando totalmente o que você pensa sobre diretórios ou arquivos, o servidor só pode lidar com essas coisas e - a menos que seja dito de outra maneira - decide por você sobre o significado de "barra ou não".
Finalmente, depois de receber essa resposta, o cliente carrega /dvd/
e está tudo bem.
Está bom? Não.
"Muito bem" não é bom o suficiente para você
Você tem alguma página dinâmica na qual tudo é passado /index.php
e processado. Tudo funcionou muito bem até agora, mas tudo começa a parecer mais lento e você investiga.
Em breve, você perceberá que /dvd/list
está fazendo exatamente o mesmo: redirecionar para o /dvd/list/
qual é traduzido internamente index.php?controller=dvd&action=list
. Um pedido adicional - mas ainda pior! customer/login
redireciona para o customer/login/
qual, por sua vez, redireciona para o URL HTTPS de customer/login/
. Você acaba tendo toneladas de redirecionamentos desnecessários HTTP (= pedidos adicionais) que tornam a experiência do usuário mais lento.
Provavelmente você também tem um índice de diretório padrão aqui: index.php?controller=dvd
sem action
simplesmente carregar internamente index.php?controller=dvd&action=list
.
Resumo:
Se terminar /
, nunca poderá ser um arquivo. Nenhum servidor adivinhando.
Barra ou nenhuma barra são significados completamente diferentes. Há uma diferença técnica / de recursos entre "barra ou nenhuma barra", e você deve estar ciente disso e usá-lo de acordo. Só porque o servidor provavelmente carrega /dvd/index.htm
- ou carrega o material de script correto - quando você diz /dvd
: Faz, mas não porque você fez a solicitação correta. O que teria sido /dvd/
.
Omitir a barra, mesmo que você queira dizer que a versão com barra oferece uma penalidade adicional de solicitação HTTP. O que é sempre ruim (pense na latência móvel) e tem mais peso do que um "URL bonito" - especialmente porque os rastreadores não são tão burros quanto os SEOs acreditam ou querem que você acredite;)