Comments 26
Кириллические домены - это ужас. Но есть ещё хуже штука: почтовые адреса на кириллице.
Когда резко подскочила цена на домены (по-моему, в 6 или 7 раз), первое, что я сделал - отбросил кириллические домены
Когда домены работали на уровне отдельных регистраторов в виде пилотных проектов, то цены были действительно ниже.
Резко подросла стоимость на русскоязычные домены, когда IDN стала развиваться на международном уровне через ICANN. Можно сказать, что это один из этапов "взросления" технологии. Ведь развитие доменных зон на национальных языках через ICANN позволило использовать технологию всем официальными регистраторами и, как следствие, предоставить любому пользователю.
Сейчас уже стоимость на русскоязычные домены такая же как и домены на латинице.
Просто переключить раскладку в адресной строке - уже малоприятно.
Да, как раз это одна из причин, по которой использование национальных алфавитов для доменов было бы интересно людям.
Ну я помню, что мне как раз было это неинтересно. Сначала я вводил домены латиницей, а потом приходилось переключаться на ввод кириллического домена.
Каким людям?
Например, я вижу у человека на визитке адрес электронной почты в доменной зоне .қаз, мне надо написать ему срочное письмо.
Какие шаги мне надо проделать и нахрена этот кардебалет?
Действительно это приличный недостаток. Если .қаз еще хоть примерно понятно, что такое, то .中国 (на китайском языке, Punycode: .xn--fiqs8s
) вообще нам будет не понятно).
Возможно, что найдутся подходы к решению этой проблемы, например, через сканирование QR-кода.
Действительно это приличный недостаток. Если .қаз еще хоть примерно понятно
Вот мне совсем не понятно, как набрать қ вместо к на стандартной русской раскладке, не прибегая к извращениям в виде CharMap.
Откройте Экранную клавиатуру (Win + Ctrl + O). Переключите её на казахскую раскладку.
В теории кодировка Windows-1251 решает проблемы с кириллицей...
При разработке DNS-системы разработчики не заложили возможность использования стандартных кодировок (таких как Windows-1251 или UTF-8), поэтому приходится применять специальную кодировку для доменных имен (Punycode).
При разработке DNS-системы разработчики не заложили возможность использования стандартных кодировок (таких как Windows-1251 или UTF-8)
DNS разработали в 1983 году. Win-1251 и, тем более, UTF-8 - там быть не могло в принципе.
(И не должно было быть: закладывать в состав записи ключей поиска "переключение кодовых страниц" - это совсем лишнее.)
В теории KOI8-R, KOI8-U, KOI8-RU, CP866, ... решают проблемы с кириллицей.
Году примерно в 92 пришлось писать перекодировщик из кириллицы в кириллицу.
15 (прописью - пятнадцать) кириллических кодировок. И все в ходу.
UTF8 тогда в ходу не было.
Серверы Apache и nginx требуют ручной настройки, потому что не интерпретируют IDN автоматически — домен должен быть указан в Punycode
Только так и должно быть - в DNS никакого Unicode нет, используется подмножество ASCII без дополнительных преобразований. IDN - надстройка даже не над DNS, а над схемами валидации имён.
Всякие дополнительные преобразования, тем более, когда они касаются имён хостов, только вредят, принося с собой большие проблемы. Взять хотя бы то, что в Unicode один и тот же символ можно штатно закодировать разными способами (и речь не про омоглифы - а про один и тот же символ). Соответственно, до сих пор очень многие системы, работающие с IDN, не реализуют нормализацию символов, предусмотренную спецификацией, поэтому буквы типа "Й" преобразуются неверно: https://dxdt.ru/2023/08/08/10715/
Представьте, что это приедет в настройки веб-серверов: один "хостнейм" - а записан десятком способов. Не очень-то удобно и понятно. Unicode - хорош там, где действительно нужен.
Ещё лет 50 и всё будет работать нормально
Да хрен с ним с доменом
Вот когда URL кривой тогда плохо
https://ru.m.wikipedia.org/wiki/%D0%A2%D0%BE%D1%82
Для адресов страниц уже используется совсем другая технология кодирования - UTF-8 + percent-encoding. Поэтому выглядит ссылка не читаемо.
Хотя браузеры отображают URL в читаемом виде, но технически используют закодированную версию.
Не мои проблемы
Сделайте мне красиво©
А нафига там персент энкодинг, если там уже утф-8 (и наоборот)?
Percent-encoding от же URL-encoding — это механизм кодирования символов в URL, при котором небезопасные и не-ASCII символы заменяются на %
с последующим двузначным шестнадцатеричным кодом символа в кодировке UTF-8.
Основные правила:
Без изменений остаются:
Латинские буквы (
A-Z
,a-z
),Цифры (
0-9
),Спецсимволы:
-
,_
,.
,~
.
Кодируются:
Пробелы →
%20
(или+
в параметрах),Русские/Unicode-символы → разбиваются на байты в UTF-8 и кодируются:
п
→%D0%BF
(UTF-8:D0 BF
),@
→%40
,/
→%2F
(если не разделитель пути).
Зарезервированные символы (кодируются, если не несут служебной роли):
! * ' ( ) ; : @ & = + $ , / ? % # [ ]
Кириллические домены в 2025: проблема или возможность?