Preservação de caso
URLs preservam maiúsculas e minúsculas , entre cliente e servidor. Mas partes de URLs podem ou não fazer distinção entre maiúsculas e minúsculas , dependendo do servidor, por alguns motivos.
Sensibilidade do caso
As seguintes partes em negrito dos URLs podem fazer distinção entre maiúsculas e minúsculas, dependendo do site e / ou da configuração do servidor.
http: // www. example.com /abc/def.ghi?jkl=mno#pqr
usuário @ example.com
Fundamentação
A distinção entre maiúsculas e minúsculas nos URLs pode ter vários usos. Principalmente:
- Compatibilidade nativa com sistemas de arquivos que diferenciam maiúsculas de minúsculas.
- Codificação de dados mais compacta em URLs, como serialização, hash, IDs, links permanentes e encurtadores de URL.
Como desenvolvedor, acredito que o acima pode ser tratado de maneiras melhores, mas também entendo que há casos em que uma situação pode não permitir isso.
Por exemplo, imagine um produto existente que exija muitos dados inseridos no URL "GET", mas ele deve ser compatível com os comprimentos máximos de URL de todos os principais servidores, navegadores e mecanismos de cache / proxy. Para ajustar até mesmo uma cadeia de comandos de tamanho moderado (abaixo de 1.024 caracteres para alguns navegadores mais antigos), você precisa usar todos os caracteres seguros para URL exclusivos que puder (que é basicamente o que é a codificação base64url).
Em um mundo ideal
Se os URLs devem ou não fazer distinção entre maiúsculas e minúsculas é discutível. Pessoalmente, acredito que não devem ser, por simplicidade (embora possa criar URLs mais longos, temos escapes percentuais para lidar facilmente com casos em que devemos garantir a preservação de caracteres exatos e existem maneiras de transferir dados além do correto no URL) .
Muitos parecem concordar com base no fato de que URLs sem distinção entre maiúsculas e minúsculas são ativadas explicitamente para muitos sites e serviços populares, a fim de aumentar a usabilidade. O exemplo mais destacado é a parte do nome de usuário dos endereços de email. A maioria dos provedores de email ignora letras maiúsculas e minúsculas e, às vezes, até pontos e outros símbolos (como "j.smith@example.com" sendo o mesmo que "JSMITH@example.com"). Mesmo que os nomes de usuário de e-mail sejam sensíveis a maiúsculas e minúsculas por padrão, de acordo com as especificações.
No entanto, o fato é que, apesar do que eu ou outros possamos querer, esse é o estado de como as coisas funcionam atualmente. E, embora uma eventual transição mundial para um padrão de URL que não diferencia maiúsculas de minúsculas seja certamente possível, provavelmente levaria um longo tempo, já que a distinção entre maiúsculas e minúsculas é atualmente usada extensivamente na Web para vários propósitos.
Melhores Práticas
No que diz respeito às práticas recomendadas, como usuário, você pode razoavelmente ficar em minúsculas na maioria das situações e esperar que as coisas funcionem. As principais exceções seriam URLs que usam codificação baseada em casos ou caminhos de documentos com equivalentes diretos ao sistema de arquivos. No entanto, esses URLs complexos geralmente são copiados e colados (ou simplesmente clicados) em vez de digitados manualmente.
Como desenvolvedor da web, considere manter os URLs sem distinção entre maiúsculas e minúsculas quanto possível. Embora haja claramente algumas situações difíceis de evitar, dependendo do contexto, conforme observado acima.