¿Es el nombre de host parte de las URL HTTP (S) que realmente distingue entre mayúsculas y minúsculas?


16

¿Es seguro usar http (s): //CompanyName.com/xyz como URL (por ejemplo, para fines de marca) sin ningún cambio en las configuraciones del lado del servicio?

Sé que el DNS no distingue entre mayúsculas y minúsculas, pero ¿podría haber efectos secundarios? Estoy pensando, por ejemplo, en que varias partes de la cadena no coinciden con CompanyName.com ~ companyname.com:

  • Es posible que algunos backend web no coincidan
  • Algunos equilibradores de carga / proxy / caché / firewall de capa de aplicación pueden no coincidir
  • Algunos clientes pueden aplicar políticas del mismo origen erróneamente
  • Algunos clientes pueden no coincidir en las comprobaciones de certificados
  • Si bien el DNS generalmente no distingue entre mayúsculas y minúsculas, ¿podrían los IDN cambiar la imagen?

¿Alguien experimentó esos u otros problemas con mayúsculas en la parte del nombre de host de las URL?


[editar] @Michael Hampton señaló que, de acuerdo con los estándares HTTP, el nombre de host no distingue entre mayúsculas y minúsculas, pero algunos software no cumplen con este aspecto.

Trato de tener una idea de cuán frecuente es el software no compatible, en particular los clientes. Supongo que todos los navegadores principales recientes están bien, pero ¿qué pasa, por ejemplo, con las aplicaciones móviles? (¿Debería dividir esto en una pregunta SF separada?) [/ Edit]


Firefox, por ejemplo, envía un Hostencabezado en minúscula (al menos eso es lo que me muestran sus herramientas de desarrollo), por lo que suponiendo que todos los navegadores hagan esto, no debería tener ningún problema, incluso si algunos equipos en la ruta al servidor no les gusta un caso mixto nombre de host curlpor otro lado, conserva el caso al enviar el encabezado.

Respuestas:


23

Sí, el nombre de host no distingue entre mayúsculas y minúsculas, como se especifica en RFC 3986 § 3.2.2 , porque los nombres de host en general no distinguen entre mayúsculas y minúsculas en el DNS . Este RFC también brinda recomendaciones sobre cómo evitar los problemas que mencionó:

Aunque el host no distingue entre mayúsculas y minúsculas, los productores y normalizadores deben usar minúsculas para nombres registrados y direcciones hexadecimales en aras de la uniformidad, mientras que solo usan letras mayúsculas para codificaciones porcentuales.

He visto al menos un HTTP cache ( W3 Total Cache ), que no normaliza el nombre de host de esta manera, y termina el almacenamiento en caché de contenido varias veces, por ejemplo, bajo example.com, Example.Com, EXAMPLE.COM, etc.


1
Al menos mientras lo peor que sucede es que el contenido se almacena en caché varias veces por cachés no conformes, eso parece algo con lo que uno puede vivir.
un CVn
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.