Pergunta

Em outras palavras, que importa se eu usar http://www.example.com/ ou http://wwW.exAmPLe.COm/ ?

Eu estive correndo em questões estranhas com acolhimento nomes ultimamente: Eu tenho um servidor web Apache2.2 + PHP5.1.4, acessado por todos os tipos de navegadores. os usuários do IE6 em particular (. esp quando sua seqüência UA está sobrecarregado com inúmeros BHOs, nenhum padrão ainda) parecem ter problemas para acessar o site (biscoitos desaparecer, JS se recusa a carga) ao entrar via http://www.Example.com/ , mas não http://www.example.com/

Eu verifiquei o HTTP e RFCs do DNS , meu políticas P3P , configurações de cookie e SOP ; ainda em nenhum lugar que eu vi sequer uma menção de nomes de domínio a ser maiúsculas de minúsculas.

(eu sei caminho e string de consulta são case sensitive (?x=foo é diferente de ?x=Foo) e tratá-los adequadamente; estou fazendo nenhuma análise / processamento em nome de domínio no meu código)

estou fazendo de errado alguma coisa ou é apenas algum navegador + barra de ferramentas porcaria eu deveria contornar?

Foi útil?

Solução

Nomes de domínio são não maiúsculas de minúsculas; Example.com vai resolver para o mesmo IP como eXaMpLe.CoM. Se um servidor ou navegador web trata do cabeçalho Host como maiúsculas e minúsculas, isso é um bug.

Outras dicas

Não, isso não deve fazer qualquer diferença.

Confira o URL RFC Spec ( http://www.ietf.org/rfc/ rfc1738.txt ). Do ponto 2.1:

Para resiliência, programas de interpretar URLs devem tratar letras maiúsculas como equivalente para minúsculas no esquema nomes

Uma vez que você formulada a pergunta como uma questão prática, em seguida, descreveu um problema do mundo real, a resposta é, na verdade: Sim.

As outras respostas estão corretas sobre o que a especificação RFC diz sobre nomes de host. Tecnicamente eles devem ser maiúsculas e minúsculas. (Na verdade, a convenção mais velho era que o domínio de topo (TLD) deveria estar em todas as tampas ... como "apple.COM").

No entanto, no mundo real, maduro software como resolvedores OS e principais navegadores obter este direito. Qualquer tipo de código secundário poderia ser lidar com esta errado, e mexer-lo.

De acordo com a http://tools.ietf.org/html/rfc1035 :

Para todas as partes do DNS que são parte do protocolo oficial, tudo comparações entre cadeias de caracteres (por exemplo, etiquetas, nomes de domínio, etc.) são feitas de uma forma maiúsculas e minúsculas. Actualmente, esta regra está em vigor em todo o sistema de domínio, sem exceção.

Em seguida, ele continua a dizer que isso pode mudar no futuro. Eu acho que é seguro assumir que o domínio COM é case-insensitive, mas outros domínios, permitindo o uso de caracteres não-ASCII pode ser diferente.

Não, não há nenhum caso sensibilidade com relação ao especificador de protocolo.

Você pode ver isso no RFC para URLs .

2.1. As partes principais URLs

regime de nomes consistem de uma sequência de personagens. As letras minúsculas "A" - "z", dígitos, e os personagens de adição ( "+"), período ( ""), e hífen ("-") são autorizadas. Para resiliência, programas URLs de interpretação deve tratar letras maiúsculas como equivalente para minúsculas em nomes de programas (por exemplo, permitir "HTTP", bem como "http").

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top