Чтобы можно было не менять инфраструктуру DNS, было предложено преобразовывать имена, содержащих символы национальных алфавитов, в слова, состоящие только из допустимых ранее символов ASCII, причём делать это в клиентских приложениях. Таким образом, для поддержки IDN достаточно, чтобы их понимал браузер пользователя. Он должен уметь переводить их в символьную кодировку Punycode, позволяющую представить любые символы Unicode с помощью разрешённого ранее набора символов ASCII. Чтобы в таком представлении IDN нельзя было спутать с обычными доменными именами, они начинаются со специального префикса «xn--», например, «xn--abc.com» — IDN в Punycode-представлении, а «abc.com» — обычное доменное имя. Фактически интернационализованные доменные имена являются псевдонимами для имён начинающихся с «xn--». Строка «xn--e1afmkfd.xn--80akhbyknj4f» демонстрирует Punycode-представление для реально существующего IDN «пример.испытание»: http://пример.испытание/. В базах DNS-серверов хранится только Punycode-представление, а в браузере можно вводить как то, так и другое. В браузерах, не поддерживающих IDN, удастся использовать только Punycode-представления IDN. Набор доменных имён на разных языках может производиться с помощью экранной (виртуальной) клавиатуры (операционной системы или интернет-сервиса) или вводом пуникода (можно получить с помощью punycode конвертера). |