Ist der Hostname Teil von HTTP (S) -URLs, bei denen die Groß- und Kleinschreibung nicht beachtet wird?

16

Ist es sicher, http (s): //CompanyName.com/xyz als URL (z. B. für Branding-Zwecke) zu verwenden, ohne Änderungen an den service-seitigen Konfigurationen vorzunehmen?

Ich weiß, dass bei DNS die Groß- und Kleinschreibung nicht berücksichtigt wird. Kann es dennoch zu Nebenwirkungen kommen? Ich denke zB an verschiedene Teile der Kette, die nicht mit CompanyName.com ~ companyname.com übereinstimmen:

  • Einige Web-Backends stimmen möglicherweise nicht überein
  • Einige Firewalls für Lastenausgleich, Proxy, Cache und Anwendungsschicht stimmen möglicherweise nicht überein
  • Einige Clients wenden möglicherweise Richtlinien mit demselben Ursprung falsch an
  • Einige Clients stimmen möglicherweise nicht mit Zertifikatsüberprüfungen überein
  • Während bei DNS in der Regel die Groß- und Kleinschreibung nicht berücksichtigt wird, können IDNs das Bild ändern?

Jemand erlebte diese oder andere Probleme mit Großbuchstaben im Hostnamen-Teil von URLs?


[edit] @Michael Hampton wies darauf hin, dass nach den HTTP-Standards die Groß- und Kleinschreibung des Hostnamens nicht beachtet wird, einige Software jedoch in dieser Hinsicht nicht kompatibel ist.

Ich versuche ein Gefühl dafür zu bekommen, wie häufig nicht konforme Software ist, insbesondere Kunden. Ich gehe davon aus, dass alle aktuellen Hauptbrowser in Ordnung sind, aber was ist zB mit mobilen Apps? (Soll ich das besser in eine separate SF-Frage aufteilen?) [/ Edit]

Nils Toedtmann
quelle
Firefox sendet beispielsweise einen HostHeader in Kleinbuchstaben (zumindest wird dies von den Entwicklertools angezeigt). Unter der Annahme, dass dies von allen Browsern durchgeführt wird, sollten Sie kein Problem haben, auch wenn einige Geräte auf dem Pfad zum Server keine gemischten Groß- und Kleinschreibung mögen Hostname. curlAuf der anderen Seite wird die Groß- / Kleinschreibung beim Senden des Headers beibehalten.

Antworten:

23

Ja, der Hostname unterscheidet nicht nach Groß- und Kleinschreibung, wie in RFC 3986 § 3.2.2 angegeben , da bei Hostnamen im DNS im Allgemeinen die Groß- und Kleinschreibung nicht berücksichtigt wird . Dieser RFC enthält auch Empfehlungen zur Vermeidung der von Ihnen genannten Probleme:

Obwohl beim Host die Groß- und Kleinschreibung nicht beachtet wird, sollten Hersteller und Normalisierer zur Vereinheitlichung Kleinbuchstaben für registrierte Namen und Hexadezimaladressen verwenden, während für Prozentcodierungen nur Großbuchstaben verwendet werden.

Ich habe zumindest eine HTTP - Cache (gesehen W3 Total Cache ) , die auf diese Weise nicht Normalisieren den Hostnamen der Fall ist, und endet das Caching Inhalt mehrmals, beispielsweise unter example.com, Example.Com, EXAMPLE.COMusw.

Michael Hampton
quelle
1
Zumindest solange das Schlimmste darin besteht, dass Inhalte mehrmals von nichtkonformen Caches zwischengespeichert werden, scheint das etwas zu sein, mit dem man leben kann.
ein