международное доменное имя (IDN ) - это Internet доменное имя, которое содержит по крайней мере одну метку, отображается в программных приложениях, полностью или частично, в алфавите для конкретного языка или алфавитом, например, арабский, китайский, кириллица, деванагари, иврит или символы на основе латинского алфавита с диакритическими знаками или лигатурами, например французский. Эти системы записи кодируются компьютерами в многобайтовом Unicode. Интернационализированные доменные имена хранятся в системе доменных имен (DNS) в виде строк ASCII с использованием транскрипции Punycode.
DNS, которая выполняет поисковую службу для преобразования удобных имен в сетевые адреса для определения местоположения Интернет-ресурсов, на практике ограничивается использованием символов ASCII, что является практическим ограничением, которое изначально устанавливает стандарт приемлемого домена. имена. Интернационализация доменных имен - это техническое решение для перевода имен, написанных языковыми сценариями, в текстовое представление ASCII, совместимое с DNS. Интернационализированные доменные имена могут использоваться только с приложениями, специально предназначенными для такого использования; они не требуют изменений в инфраструктуре Интернета.
IDN был первоначально предложен в декабре 1996 г. Мартином Дюрстом и реализован в 1998 г. Тан Джуай Кван и Леонг Кок Йонг под руководством Тан Тин Ви. После долгих дебатов и множества конкурирующих предложений система под названием «Интернационализация доменных имен в приложениях» (IDNA) была принята в качестве стандарта и реализована в нескольких доменах верхнего уровня.
В IDNA термин «интернационализированное доменное имя» означает в частности, любое доменное имя, состоящее только из меток, к которым может быть успешно применен алгоритм IDNA ToASCII (см. ниже). В марте 2008 г. IETF сформировал новую рабочую группу IDN для обновления текущего протокола IDNA. В апреле 2008 года ЭСКЗА ООН вместе с реестром общественных интересов (PIR) и Afilias запустили рабочую группу по арабскому алфавиту в IDNs (ASIWG), в которую вошли эксперты в области DNS, операторов ccTLD, бизнеса, научных кругов, а также члены региональных и международных организаций. Под председательством Рам Мохана из Afilias, ASIWG стремится разработать единую таблицу IDN для арабского алфавита и представляет собой пример сотрудничества сообщества, который помогает местным и региональным специалистам участвовать в разработке глобальной политики, а также в технической стандартизации.
В октябре 2009 года Интернет-корпорация по присвоению имен и номеров (ICANN) одобрила создание интернационализированных доменов верхнего уровня с кодом страны (IDN ccTLD) в Интернете, использующих стандарт IDNA. для скриптов на родном языке. В мае 2010 г. первые IDN ccTLD были установлены в корневой зоне DNS.
Интернационализация доменных имен в приложениях (IDNA) - это механизм определен в 2003 году для обработки интернационализированных доменных имен, содержащих символы, отличные от ASCII.
Хотя Система доменных имен поддерживает символы, отличные от ASCII, такие приложения, как электронная почта и веб-браузеры, ограничивают символы, которые могут быть используется в качестве доменных имен для таких целей, как имя хоста. Строго говоря, именно сетевые протоколы, которые используют эти приложения, имеют ограничения на символы, которые могут использоваться в доменных именах, а не приложения, которые имеют эти ограничения, или сам DNS. Чтобы сохранить обратную совместимость с установленной базой, рабочая группа IETF IDNA решила, что интернационализированные доменные имена должны быть преобразованы в подходящую форму на основе ASCII, которая могла бы обрабатываться веб-браузерами и другими пользовательскими приложениями. IDNA определяет, как выполняется преобразование между именами, написанными не-ASCII-символами, и их представлением на основе ASCII.
Приложение с поддержкой IDNA может выполнять преобразование между интернационализированным и ASCII-представлением имени домена. Он использует форму ASCII для поиска DNS, но может представлять интернационализированную форму пользователям, которые предположительно предпочитают читать и записывать доменные имена в сценариях, отличных от ASCII, таких как арабский или хирагана. Приложения, которые не поддерживают IDNA, не смогут обрабатывать доменные имена с символами, отличными от ASCII, но все равно смогут получить доступ к таким доменам, если им будет предоставлен (обычно довольно загадочный) эквивалент ASCII.
ICANN выпустила руководство по использованию IDNA в июне 2003 г., и уже в июле 2003 г. с помощью этой системы можно было зарегистрировать домены .jp и домены .info. в марте 2004 года. Несколько других реестров доменов верхнего уровня начали принимать регистрацию в 2004 и 2005 годах. Руководящие принципы IDN были впервые созданы в июне 2003 года и были обновлены с учетом проблем фишинга в ноябре 2005 года. Группа высшего уровня, занимающаяся доменными именами с кодом страны, была сформирована в ноябре 2007 г. и продвигается совместно организацией поддержки национальных кодов и Правительственным консультативным комитетом. Кроме того, ICANN поддерживает руководящую группу Универсального принятия, возглавляемую сообществом, которая стремится продвигать удобство использования IDN и других новых gTLDS во всех приложениях, устройствах и системах.
Mozilla 1.4, Netscape 7.1, Opera 7.11 были одними из первых приложений, поддерживающих IDNA. Для Internet Explorer 6 доступен подключаемый модуль браузера, обеспечивающий поддержку IDN. API-интерфейсы URL-адресов Internet Explorer 7.0 и Windows Vista обеспечивают встроенную поддержку IDN.
Преобразование между ASCII и не-ASCII формами доменного имени выполняются алгоритмами ToASCII и ToUnicode. Эти алгоритмы применяются не к доменному имени в целом, а к отдельным ярлыкам. Например, если имя домена www.example.com, то метки будут www, example и com. ToASCII или ToUnicode применяется к каждому из этих трех отдельно.
Детали этих двух алгоритмов сложны и указаны в RFC 3490. Ниже дается обзор их функций.
ToASCII оставляет неизменной любую метку ASCII, но завершится ошибкой, если метка не подходит для системы доменных имен. Если задана метка, содержащая хотя бы один символ, отличный от ASCII, ToASCII применит алгоритм Nameprep, который преобразует метку в нижний регистр и выполняет другую нормализацию, а затем преобразует результат в ASCII с помощью Punycode перед добавлением строки из четырех символов "xn--". Эта четырехсимвольная строка называется префиксом ASCII Compatible Encoding (ACE) и используется для отличия меток, закодированных Punycode, от обычных меток ASCII. Алгоритм ToASCII может дать сбой по нескольким причинам; например, последняя строка может превышать ограничение в 63 символа для метки DNS. Метка, для которой не работает ToASCII, не может использоваться в интернационализированном доменном имени.
Функция ToUnicode меняет действие ToASCII на противоположное, удаляя префикс ACE и применяя алгоритм декодирования Punycode. Он не отменяет обработку Nameprep, поскольку это всего лишь нормализация и по своей природе необратима. В отличие от ToASCII, ToUnicode всегда завершается успешно, потому что он просто возвращает исходную строку, если декодирование не удается. В частности, это означает, что ToUnicode не влияет на строку, которая не начинается с префикса ACE.
кодирования IDNA может быть проиллюстрирован с использованием примера домена Bücher.example
. (Немецкий : Bücher, lit. 'books'.) Это доменное имя имеет две метки: Bücher и example. Вторая метка - чистый ASCII, и ее не изменили. Первая метка обрабатывается Nameprep для получения bücher
, а затем конвертируется в Punycode, в результате получается bcher-kva
. Затем перед ним ставится префикс xn--
, чтобы получить xn - bcher-kva
. Таким образом, получившееся имя, подходящее для использования в записях и запросах DNS, будет «xn - bcher-kva.example
».
Хотя в арабском регионе проживает 5 процентов населения мира, на него приходится всего 2,6 процента глобального использования Интернета. Более того, процент пользователей Интернета среди населения арабского мира составляет всего 11 процентов по сравнению с глобальным показателем в 21,9 процента. Однако в период с 2000 по 2008 год использование Интернета в регионе выросло на 1 426 процентов, что представляет собой значительный рост, особенно по сравнению со средними мировыми темпами роста в 305,5 процента за тот же период. Поэтому разумно предположить, что рост использования мог бы быть еще более значительным, если бы DNS был доступен с арабскими символами. Введение IDN предлагает множество потенциальных новых возможностей и преимуществ для арабских пользователей Интернета, позволяя им создавать домены на их родных языках и алфавитах, а также создавать целый ряд услуг и локализованных приложений поверх этих доменов.
Председатель ASIWG Рам Мохан представил доводы в пользу развития многоязычного Интернета на форуме по управлению Интернетом в Хайдарабаде, Индия (3–6 декабря 2008 г.).
В 2009 году ICANN решила внедрить новый класс доменов верхнего уровня, назначаемых странам и независимым регионам, аналогично правилам для национальных доменов верхнего уровня. Однако доменные имена могут представлять собой любую желаемую строку символов, символов или глифов на языке, отличном от латинского алфавита или алфавите языка заявителя, в пределах определенных руководящих принципов для обеспечения достаточной визуальной уникальности.
Процесс установки доменов с кодом страны IDN начался с длительного периода тестирования в наборе поддоменов в домене верхнего уровня test. В одиннадцати доменах использовались родные для языка сценарии или алфавиты, такие как δοκιμή, что означает тест на греческом языке.
Эти усилия завершились созданием первых интернационализированных доменов верхнего уровня с кодом страны (IDN ccTLD) для производственного использования в 2010 году.
В системе доменных имен, эти домены используют представление ASCII, состоящее из префикса «xn--», за которым следует Punycode перевод Unicode представления алфавитные или письменные глифы для конкретного языка. Например, кириллическое имя IDN ccTLD России - «рф». В представлении Punycode это «p1ai», а его DNS-имя - «xn - p1ai».
Существуют и другие реестры, которые поддерживают доменные имена, отличные от ASCII. Компания ThaiURL.com в Таиланде поддерживает регистрацию.com с использованием собственной кодировки IDN, ThaiURL. Однако, поскольку большинство современных браузеров распознают только IDNA / punycode IDN, домены с кодировкой ThaiURL необходимо вводить или связывать в их закодированной форме, и они будут отображаться в адресной строке. Это ограничивает их полезность; однако они по-прежнему являются действующими и общедоступными доменами.
Несколько реестров поддерживают пунктирные символы эмодзи в качестве доменов эмодзи.
Использование Unicode в доменных именах потенциально упрощает подделку сети Сайты в качестве визуального представления строки IDN в веб-браузере могут сделать поддельный сайт неотличимым от поддельного легитимного сайта, в зависимости от используемого шрифта. Например, символ Unicode U + 0430, строчная кириллическая буква a может выглядеть идентично символу Unicode U + 0061, строчная латинская буква a, используемому в английском языке. В качестве конкретного примера, используя кириллические буквы а, е («Ie» / «Ye», U + 0435, внешне идентичные латинским буквам a, e ), белорусско-украинский і (U + 0456, по существу идентичен латинской букве i ), р («Er», U + 0440, по существу идентичен латинской букве p ), URL-адрес wіkіреdіа.org - сформировано ("xn--wkd-8cdx9d7hbd.org" в закодированной форме), что практически неотличимо от визуального представления законного wikipedia.org (возможно, в зависимости от шрифтов).
Многие домены верхнего уровня начали принимать регистрацию интернационализированных доменных имен на втором или более низком уровне. Afilias (.INFO) предложила регистрацию второго уровня IDN первого gTLD в 2004 году в Немецкий язык.
DotAsia, регистратор TLD Asia, провела 70-дневный период ранней регистрации начиная с 11 мая 2011 г. для регистрации доменов второго уровня в Китайские, японские и корейские шрифты.