Pull to refresh

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 в читаемом виде, но технически используют закодированную версию.

Не мои проблемы

Сделайте мне красиво©

Percent-encoding от же URL-encoding — это механизм кодирования символов в URL, при котором небезопасные и не-ASCII символы заменяются на % с последующим двузначным шестнадцатеричным кодом символа в кодировке UTF-8.

Основные правила:

  1. Без изменений остаются:

    • Латинские буквы (A-Za-z),

    • Цифры (0-9),

    • Спецсимволы: -_.~.

  2. Кодируются:

    • Пробелы → %20 (или + в параметрах),

    • Русские/Unicode-символы → разбиваются на байты в UTF-8 и кодируются:

      • п → %D0%BF (UTF-8: D0 BF),

      • @ → %40,

      • / → %2F (если не разделитель пути).

  3. Зарезервированные символы (кодируются, если не несут служебной роли):
    ! * ' ( ) ; : @ & = + $ , / ? % # [ ]

Sign up to leave a comment.

Articles