%20realmente%20n%C3%A3o%20diferencia%20mai%C3%BAsculas%20de%20min%C3%BAsculas%3F.png)
É seguro usar http(s)://CompanyName.com/xyz como URL (por exemplo, para fins de marca) sem nenhuma alteração nas configurações do lado do serviço?
Eu sei que o DNS não diferencia maiúsculas de minúsculas, mas ainda pode haver efeitos colaterais? Estou pensando, por exemplo, em várias partes da cadeia que não correspondem a CompanyName.com ~ companyname.com:
- Algum back-end da web pode não corresponder
- Alguns firewalls de balanceador de carga/proxy/cache/camada de aplicativo podem não corresponder
- Alguns clientes podem aplicar políticas de mesma origem incorretamente
- Alguns clientes podem não corresponder às verificações de certificado
- Embora o DNS geralmente não faça distinção entre maiúsculas e minúsculas, os IDNs poderiam mudar o cenário?
Alguém já teve esses ou outros problemas com letras maiúsculas na parte do nome do host dos URLs?
[editar] @Michael Hampton apontou que, de acordo com os padrões HTTP, o nome do host não diferencia maiúsculas de minúsculas, mas alguns softwares não são compatíveis nesse aspecto.
Tento ter uma ideia de quão predominante é o software não compatível, em clientes específicos. Presumo que todos os principais navegadores recentes estejam bem, mas e os aplicativos móveis, por exemplo? (Devo dividir isso em uma pergunta separada de SF?) [/edit]
Responder1
Sim, o nome do host realmente não diferencia maiúsculas de minúsculas, conforme especificado emRFC 3986 § 3.2.2, porquenomes de host em geral não diferenciam maiúsculas de minúsculas no DNS. Esta RFC também fornece recomendações sobre como evitar os problemas mencionados:
Embora o host não faça distinção entre maiúsculas e minúsculas, os produtores e normalizadores devem usar letras minúsculas para nomes registrados e endereços hexadecimais por uma questão de uniformidade, enquanto usam apenas letras maiúsculas para codificações percentuais.
Eu vi pelo menos um cache HTTP (Cache Total W3) que não normaliza o nome do host dessa maneira e acaba armazenando o conteúdo em cache várias vezes, por exemplo, em example.com
, Example.Com
, EXAMPLE.COM
, etc.