Pregunta

En otras palabras, ¿importa si utilizo http://www.example.com/ o http://wwW.exAmPLe.COm/ ?

He estado corriendo en problemas extraños con host-names últimamente: Tengo un servidor web Apache2.2 + PHP5.1.4, visitada por todo tipo de navegadores. los usuarios de IE6 en particular (. esp cuando su cadena de UA se carga con numerosas BHO, hay un patrón aún) parecen tener problemas para acceder al sitio (las cookies desaparecen, JS se niega a cargar) al entrar a través de http://www.Example.com/ , pero no http://www.example.com/

He comprobado la HTTP y DNS RFC, mi políticas P3P , la configuración de cookies y SOP ; sin embargo, en ninguna parte he visto siquiera una mención de nombres de dominio siendo entre mayúsculas y minúsculas.

(sé ruta y cadena de consulta entre mayúsculas y minúsculas (?x=foo es diferente de ?x=Foo) y se trata de manera apropiada; estoy haciendo ningún análisis / procesamiento en el nombre de dominio en mi código)

¿Estoy haciendo algo mal o es sólo un navegador + barra de herramientas de basura que debería evitar?

¿Fue útil?

Solución

nombres de dominio son no mayúsculas y minúsculas; Example.com resolverá a la misma IP como eXaMpLe.CoM. Si un servidor web o navegador trata a la cabecera Host como mayúsculas y minúsculas, eso es un error.

Otros consejos

No, esto no debería haber ninguna diferencia.

Salida de la URL RFC Spec ( http://www.ietf.org/rfc/ rfc1738.txt ). Desde la sección 2.1:

  

En la resiliencia, programas de interpretación   URL deben tratar a las letras mayúsculas   como equivalente a minúsculas en el esquema   nombres

Desde que su pregunta redactada así como una cuestión práctica, y después de describir un problema del mundo real, la respuesta es: Sí.

Las otras respuestas son correctas acerca de la especificación RFC lo que el dice acerca de los nombres de host. Técnicamente deben ser entre mayúsculas y minúsculas. (De hecho, la convención más antigua era que el dominio de nivel superior (TLD) se supone que es en todas las tapas ... como "apple.COM").

Sin embargo, en el mundo real, software maduro como resolutores del sistema operativo y los principales navegadores conseguir este derecho. Cualquier tipo de código secundario podría ser el manejo de este mal, y echar a perder.

De acuerdo con http://tools.ietf.org/html/rfc1035 :

  

Para todas las partes del DNS que forman parte del protocolo oficial, todo   comparaciones entre cadenas de caracteres (por ejemplo, etiquetas, nombres de dominio, etc.)   se hace de una manera sensible a las mayúsculas. En la actualidad, esta regla se encuentra en   la fuerza en todo el sistema de dominio sin excepción.

A continuación, pasa a decir que esto podría cambiar en el futuro. Creo que es seguro asumir que el dominio COM es sensible a las mayúsculas, pero otros dominios que permiten el uso de caracteres no ASCII puede ser diferente.

No, no hay ningún caso la sensibilidad con respecto a la especificador de protocolo.

Esto se puede ver en el RFC para URLs .

  

2,1. Las partes principales de URLs

     

nombres de esquema consisten en una secuencia de   caracteres. Las letras minúsculas   "A" - "z", dígitos y los caracteres   más ( "+"), punto ( ""), y el guión   ("-") están permitidos. Para la resistencia,   programas de interpretación deberían URL   el tratamiento de las letras mayúsculas como equivalentes   a minúsculas en nombres de esquema (por ejemplo,   permitir "HTTP", así como "http").

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top