Действительно ли часть имени хоста в URL-адресах HTTP(S) нечувствительна к регистру?

Действительно ли часть имени хоста в URL-адресах HTTP(S) нечувствительна к регистру?

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

Я знаю, что DNS нечувствителен к регистру, но могут ли быть побочные эффекты? Я думаю, например, о различных частях цепочки, которые не соответствуют CompanyName.com ~ companyname.com:

  • Некоторые веб-бэкэнды могут не совпадать
  • Некоторые балансировщики нагрузки/прокси/кэш/брандмауэры прикладного уровня могут не совпадать
  • Некоторые клиенты могут неправильно применять политику одинакового происхождения
  • Некоторые клиенты могут не пройти проверку сертификатов
  • Хотя DNS, как правило, нечувствительна к регистру, могут ли IDN-домен изменить ситуацию?

Кто-нибудь сталкивался с этими или другими проблемами с заглавными буквами в имени хоста в URL-адресах?


[править] @Michael Hampton отметил, что согласно стандартам HTTP имя хоста НЕ чувствительно к регистру, но некоторое программное обеспечение не соответствует этому требованию.

Я пытаюсь понять, насколько распространено несоответствующее ПО, в частности клиенты. Я предполагаю, что все последние основные браузеры хороши, но что насчет мобильных приложений? (Может, мне лучше выделить это в отдельный вопрос SF?) [/edit]

решение1

Да, имя хоста действительно нечувствительно к регистру, как указано вRFC 3986 § 3.2.2, потому чтоИмена хостов в DNS, как правило, нечувствительны к регистру.. В этом RFC также даны рекомендации о том, как избежать упомянутых вами проблем:

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

Я видел по крайней мере один HTTP-кэш (W3 Общий кэш), который не нормализует имя хоста таким образом и в итоге кэширует содержимое несколько раз, например, под example.com, Example.Com, EXAMPLE.COM, и т. д.

Связанный контент