A parte do nome do host de URLs HTTP (S) é realmente insensível a maiúsculas e minúsculas?

16

É seguro usar http (s): //CompanyName.com/xyz como URL (por exemplo, para fins de branding) sem nenhuma alteração nas configurações do serviço?

Eu sei que o DNS é insensível a maiúsculas e minúsculas, mas ainda pode haver efeitos colaterais? Estou pensando em várias partes da cadeia que não correspondem a CompanyName.com ~ companyname.com:

  • Alguns back-ends da web podem não corresponder
  • Alguns firewalls do balanceador de carga / proxy / cache / camada do aplicativo podem não corresponder
  • Alguns clientes podem aplicar políticas de mesma origem incorretamente
  • Alguns clientes podem não corresponder nas verificações de certificados
  • Embora o DNS geralmente não diferencie maiúsculas de minúsculas, os IDNs podem mudar a imagem?

Alguém experimentou esses ou outros problemas com maiúsculas na parte do nome do host das URLs?

[editar] @Michael Hampton salientou que, de acordo com os padrões HTTP, o nome do host é insensível a maiúsculas e minúsculas, mas alguns softwares não são compatíveis com isso.

Eu tento ter uma noção de quão predominante é o software não compatível, em particular os clientes. Presumo que todos os principais navegadores recentes estão bem, mas o que, por exemplo, sobre aplicativos móveis? (Devo dividir isso em uma questão separada do SF?) [/ edit]

    
por Nils Toedtmann 04.03.2015 / 15:18

1 resposta

23

Sim, o nome do host realmente não faz distinção entre maiúsculas e minúsculas, conforme especificado em RFC 3986 § 3.2.2 , porque nomes de host em geral não diferenciam maiúsculas de minúsculas no DNS . Este RFC também fornece recomendações sobre como evitar os problemas que você mencionou:

Although host is case-insensitive, producers and normalizers should use lowercase for registered names and hexadecimal addresses for the sake of uniformity, while only using uppercase letters for percent-encodings.

Eu já vi pelo menos um cache HTTP ( W3 Total Cache ) que não normalizar o nome do host dessa maneira e termina o cache de conteúdo várias vezes, por exemplo em example.com , Example.Com , EXAMPLE.COM , etc.

    
por 04.03.2015 / 15:28