Pull to refresh

Исследования отдела разработок регистратора R01 на тему «Домен РФ»

Reading time 4 min
Views 10K
В мае 2010 года был делегирован первый домен в зоне.РФ, а к октябрю их количество уже составило около 20 000. Подсчет предварительных заявок позволяет прогнозировать, что еще до нового года в зоне.РФ будет зарегистрирован 50 000-й кириллический адрес.

Однако в самом начале работы зоны выяснилось, что некоторые клиентские приложения (браузеры, почтовые программы, веб-сервисы) некорректно работают с русскоязычными доменами. Специалисты R01 провели собственное исследование, в ходе которого попытались разобраться, в чем причины этих ошибок и какова перспектива улучшения работы клиентских приложений.


На текущий момент все популярные браузеры и почтовые клиенты с
кириллическим доменом работают корректно, но осталось много проблем в
работе веб-сервисов.

Проблематика исследования: корректность работы приложений с доменом РФ. Тестирование готовности почтовых служб и браузеров к поддержке национального домена.

Основная проблема, с которой столкнулись разработчики при внедрении доменов на национальных языках — это большое количество приложений, которые создавались для работы с доменными именами, содержащими только символы латиницы, цифр и дефиса (ASC II).

Использование доменных имен, содержащих символы национальных алфавитов, могло привести к необходимости изменения сотен стандартов и еще большего количества приложений.

Задолго до появления домена.РФ разработчики выбрали более простой и быстрый вариант работы с доменам в национальных кодировках — взаимнооднозначное кодирование таких имен в набор символов латинских букв, цифр и дефиса, то есть тех, которые используются для стандартных доменных имен.

Один из алгоритмов такого преобразования получил название punycode.

При использовании punycode-кодирования схема работы выглядит следующим образом:
1. Пользователь вводит в клиентском приложении домен на национальном языке;
2. Клиентское приложение перекодирует его в punycode-преобразование и дальше передает информацию о доменном имени в кодированном виде;
3. Сервер возвращает ответ клиентскому приложению (имя домена — в виде punycode);
4. Клиентское приложение перекодирует имя домена из punycode обратно в символы национального алфавита и выдает ответ пользователю.

Исходя из приведенной схемы возможные трудности делятся на 2 типа:
1. Перекодирование имен в звене «Пользователь» <=> «Клиентское приложение». Трудности могут быть связаны с корректной обработкой IDN-доменов клиентским приложением, а также некорректным отображением таких доменов (допустим, отображение домена в виде punycode-преобразования, которое совершенно непонятно пользователю);
2. Взаимодействие автоматических сервисов между собой. Проблемы на данном этапе практически исключены за счет использования punycode-представления доменного имени.

Мы протестировали веб-интерфейсы крупнейших почтовых служб на предмет корректной работы с кириллическими доменами.

Тест состоял из 2 частей:
1. Попытка отослать почту на адрес, в котором имя домена указано в национальном алфавите (mailtest@пример.испытание);
2. Попытка отослать почту на адрес, в котором имя домена указано в виде punycode-преобразования (mailtest@xn--e1afmkfd.xn--80akhbyknj4f).

* пример.испытание — специальный домен, делегированный ICANN в 2007 году и предназначенный для тестирования. Более подробную информацию о нем можно найти на сайте пример.испытание

Результаты исследования приведены в таблице. Первый параметр — результат первого теста, второй параметр — результат второго теста (в квадратных скобках).

image

Как видно, полностью с тестом справился только yandex.ru, полностью не справился — gmail.com. Остальные службы смогли отправить письмо хотя бы на адрес в виде punycode-преобразования.

При этом уже 3066 доменов указывают на почтовые сервера.

На текущий момент кириллицей может быть написано только доменное имя. Имя пользователя в адресе электронной почты должно быть написано латиницей.

Например: admin@тест.рф — корректный адрес; а админ@тест.рф — некорректный.

Работа по внедрению использования символов национальных алфавитов в почтовых адресах ведется, но пока находится на стадии обсуждения предложений (RFC).

Также мы протестировали поддержку кириллических доменов браузерами. Если в мае еще наблюдались проблемы в Firefox и Safari, то к августу они были решены во всех популярных браузерах.

Что делать?

Для корректной работы кириллических доменов требуется участие всего интернет-сообщества (особенно разработчиков клиентских приложений, сайтов, систем управления сайтами).

Основные задачи заключаются в:
1. Корректном отображении веб-сервисами и клиентскими приложениями кириллических доменов;
2. Корректном преобразовании кириллических доменов в punycode-вид клиенсткими приложениями и веб-сервисами;
3. Модификации проверок, при помощи которых определяется корректность указания пользователем своего e-mail или URL.

Ключевые цифры:
По состоянию на 12 октября 2010 года делегировано 7260 домена (40% от зарегистрированных ), из них 5477 (29.8%) указывают на хостинг и для 3066 (более 16.7%) доменов указаны почтовые сервера.

Полезные ссылки:
1) пример.испытание — специальный сайт, предназначенный для тестирования работы клиентских приложений (почтовые клиенты, веб-браузеры) с национальными доменами.
2) http://datatracker.ietf.org/wg/eai/ — страница на сайте IETF, посвященная адаптации почтовой системы для работы с адресами на национальных языках
3) http://www.gnu.org/software/libidn/ — домашняя страница библиотеки libIDN (C, C# and Java) для работы с доменами в национальных алфавитах.
4) http://search.cpan.org/search?query=IDN&mode=all — набор модулей для Perl для работы с IDN-доменами
5) http://php.net/manual/en/ref.intl.idn.php — функции PHP для работы с IDN-доменами
6) http://pear.php.net/package/Net_IDNA2 — PEAR-модуль для работы с IDN
Tags:
Hubs:
+15
Comments 57
Comments Comments 57

Articles

Information

Website
r01.ru
Registered
Founded
Employees
31–50 employees
Location
Россия