%20%D0%BD%D0%B5%D1%87%D1%83%D0%B2%D1%81%D1%82%D0%B2%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%20%D0%BA%20%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D1%83%3F.png)
Безопасно ли использовать 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
, и т. д.