Il nome host fa parte degli URL HTTP (S) senza distinzione tra maiuscole e minuscole?


16

È sicuro utilizzare http (s): //CompanyName.com/xyz come URL (ad es. Per scopi di branding) senza alcuna modifica alle configurazioni lato servizio?

So che il DNS non fa distinzione tra maiuscole e minuscole, ma potrebbero esserci ancora effetti collaterali? Sto pensando ad esempio a varie parti della catena che non corrispondono a CompanyName.com ~ companyname.com:

  • Alcuni backend Web potrebbero non corrispondere
  • Alcuni firewall di bilanciamento del carico / proxy / cache / livello applicazione potrebbero non corrispondere
  • Alcuni client potrebbero applicare erroneamente le politiche della stessa origine
  • Alcuni client potrebbero non corrispondere ai controlli dei certificati
  • Mentre il DNS non fa distinzione tra maiuscole e minuscole, gli IDN potrebbero cambiare il quadro?

Qualcuno ha riscontrato questi o altri problemi con le maiuscole nella parte del nome host degli URL?


[modifica] @Michael Hampton ha sottolineato che, secondo gli standard HTTP, il nome host non distingue tra maiuscole e minuscole, ma alcuni software non sono conformi al riguardo.

Cerco di capire quanto sia prevalente il software non conforme, in particolare i client. Presumo che tutti i principali browser recenti stiano bene, ma che dire ad esempio delle app mobili? (Dovrei meglio dividerlo in una domanda SF separata?) [/ Modifica]


Firefox, ad esempio, invia Hostun'intestazione in minuscolo (almeno è quello che mi stanno mostrando i suoi strumenti di sviluppo) quindi supponendo che tutti i browser lo facciano, non dovresti avere alcun problema anche se alcune apparecchiature sul percorso del server non amano un caso misto Nome host. curld'altra parte, conserva il caso quando si invia l'intestazione.

Risposte:


23

Sì, il nome host non fa distinzione tra maiuscole e minuscole, come specificato nella RFC 3986 § 3.2.2 , poiché i nomi host in generale non fanno distinzione tra maiuscole e minuscole nel DNS . Questo RFC fornisce anche consigli su come evitare i problemi menzionati:

Sebbene l'host non faccia distinzione tra maiuscole e minuscole, i produttori e i normalizzatori dovrebbero usare le lettere minuscole per i nomi registrati e gli indirizzi esadecimali per motivi di uniformità, usando solo lettere maiuscole per le codifiche percentuali.

Ho visto almeno un HTTP cache ( W3 Cache totale ) che non normalizzare il nome host in questo modo, e finisce caching contenuto più volte, ad esempio sotto example.com, Example.Com, EXAMPLE.COM, etc.


1
Almeno finché il peggio che succede è che il contenuto viene memorizzato nella cache più volte da cache non conformi, sembra qualcosa con cui si possa convivere.
un CVn
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.