Чи справді частина імені хоста в URL-адресах HTTP (S) не відрізняється від регістру?


16

Чи безпечно використовувати http (s): //CompanyName.com/xyz як URL (наприклад, для брендингу) без будь-яких змін у налаштуваннях на стороні служби?

Я знаю, що DNS не чутливий до регістру, але чи все ж можуть бути побічні ефекти? Я маю на увазі, наприклад, різні частини ланцюга не відповідають компанії CompanyName.com ~ companyname.com:

  • Деякі веб-сервіси можуть не збігатися
  • Деякий брандмауер рівня балансира навантаження / проксі / кеш / програми може не відповідати
  • Деякі клієнти можуть неправильно застосовувати політику того самого походження
  • Деякий клієнт може не відповідати чекам сертифікатів
  • Хоча DNS, як правило, не чутливий до регістру, чи можуть IDN змінити картину?

Хтось стикався з тими чи іншими проблемами із великими літерами у частині URL-адреси імені хоста?


[редагувати] @Michael Hampton вказував, що відповідно до стандартів HTTP, ім'я хоста IS нечутливе до регістру, але певне програмне забезпечення не відповідає цьому.

Я намагаюся зрозуміти, наскільки поширене невідповідне програмне забезпечення, зокрема клієнти. Я припускаю, що всі останні останні веб-переглядачі добре, але що стосується мобільних додатків? (Чи варто краще розділити це на окреме питання SF?) [/ Редагувати]


Наприклад, Firefox надсилає малий Hostзаголовок (принаймні, так показують мені його інструменти для розробників), тому припускаючи, що всі браузери це роблять, у вас не повинно виникнути проблем, навіть якщо деяке обладнання на шляху до сервера не подобається змішаному випадку ім'я хоста curlз іншого боку, зберігає випадок при надсиланні заголовка.

Відповіді:


23

Так, ім'я хоста дійсно не чутливе до регістру, як зазначено в пункті RFC 3986 39.2 , оскільки імена хостів взагалі нечутливі до регістру в DNS . Цей RFC також дає рекомендації щодо уникнення згаданих вами проблем:

Хоча хост не враховує регістри, виробники та нормалізатори повинні використовувати малі регістри для зареєстрованих імен та шістнадцяткових адрес для рівномірності, використовуючи лише великі літери для відсоткових кодувань.

Я бачив , по крайней мере , один HTTP кеш ( W3 Total Cache ) , яка нормалізують ім'я хоста таким чином, і в кінцевому підсумку кешування контенту кілька разів, наприклад , при example.com, Example.Com, EXAMPLE.COMі т.д.


1
Принаймні, доки найгірше, що трапляється, - це те, що вміст кілька разів кешується невідповідними кешами, це здається чимось, з яким можна жити.
CVn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.