Разделы

Интернет Интернет-ПО Хостинг и домены ИТ в госсекторе Техника

Опубликованы рекомендации по применению кириллицы в доменных именах и почте

В России представлены рекомендации по внедрению, обработке, хранению и валидации кириллических символов в программы с поддержкой доменных имен и адресов электронной почты. Как ожидается, стандартизация позволит сдвинуть с мертвой точки процесс полноценной адаптации кириллических имен хостинг-провайдерами и разработчиками ПО.

Русский язык для web-программистов

Российская рабочая группа программы поддержки кириллических доменов, работа которой, как сообщал CNews, стартовала в мае 2020 г. при поддержке АНО «Координационный центр доменов .RU/.РФ», опубликовала свод рекомендаций по внедрению по внедрению кириллических символов в ПО поддержки доменных имен и адресов электронной почты.

Документ, разработанный на основе рекомендаций проекта «Поддерживаю.РФ» по обработке EAI-адресов и IDN-доменов доменной зоны верхнего уровня .РФ, ориентирован на разработчиков ПО с поддержкой любых российских кириллических доменов, включая .РФ, .SU, .ДЕТИ, .МОСКВА, .РУС. В нем изложены принципы обработки, хранения и валидации кириллических доменных имен и адресов электронной почты.

«Сегодня многие разработчики заинтересованы в работе с российскими IDN-доменами и адресами электронной почты с символами русского алфавита, – сказала руководитель проекта «Поддерживаю.РФ» Мария Колесникова. – Но они нуждаются в документации, разъясняющей как правильно работать с такими интернет-идентификаторами и избежать ошибок. Задача российской рабочей группы по универсальному принятию и проекта "Поддерживаю.РФ" – дать им эту информацию и помочь реализовать поддержку кириллических IDN и EAI».

Морфология и пунктуация кириллических доменных имен

Документ под названием «Рекомендации по внедрению в программном обеспечении поддержки доменных имен и адресов электронной почты c использованием символов кириллицы» рекомендует обеспечивать возможность передачи программам доменного имени как пользователем с помощью графического пользовательского интерфейса, так и через API, в формате U-метки (Unicode) или A-метки (ASCII, Punycode, с префиксом ACE «xn--»), с преобразованием в последнем случае в U-метку.

rf1.jpg
Представлены рекомендации по внедрению кириллических доменных имен и адресов электронной почты

Проверку кириллического доменного имени при регистрации рекомендуется проводить в соответствии с требованиями стандарта IDNA 2008, в нижнем регистре с нормализацией Unicode, с проверкой на исключение возможности омоглифических атак (подмены доменного имени по внешней схожести символов). Перед проверкой длины доменное имя следует преобразовать из U-метки в A-метку.

В доменном имени допустимы кириллические символы, дефис (-) и цифры (0-9), однако запрещается ставить дефис вначале и в конце, а также в третьей и четвертой позиции U-метки. По поводу длины доменного имени документ рекомендует придерживаться рамок 1-63 октетов для домена второго и далее уровней, при этом длину интернационализированного доменного имени в символах необходимо измерять в A-метке, где общая длина не может превышать 255 символов.

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

Хранение доменного имени в базе данных или в файлах предписывается осуществлять в кодировке «Юникод» (UTF-8), при этом оно может храниться в виде A-метки в дополнение к U-метке, но с обязательной проверкой соответствия обеих меток при изменении одной из них.

Любые операции с кириллическими доменными именами рекомендуется производить только в кодировке «Юникод» (UTF-8), при этом при поиске по данным с доменными именами предлагается обеспечить возможность нахождения их элементов по запросу как по форме A-метки, так и в форме U-метки.

Отображение доменного имени в графическом интерфейсе ПО должно обеспечиваться в кодировке «Юникод» (UTF-8), при этом отображение в виде А-метки только в том случае, когда оно идет дополнением к соответствующему имени в виде U-метки.

Кириллические адреса электронной почты

Для доменной части (до символа @) кириллических адресов электронной почты действуют такие же правила, как для доменных имен (U-метки и A-метки), в то время как локальная часть адреса (после символа @) должна передаваться только в «Юникоде» (UTF-8). Аналогичны правила и для проверки адресов почты: доменная часть аналогично доменному имени, локальная часть – в соответствии со стандартом EAI.

Как создать цифровую витрину для налогового мониторинга
ИТ в госсекторе

Локальная часть адреса электронной почты может содержать латинские символы (a-z), кириллические символы (а-я), цифры (от 0 до 9), однако настоятельно рекомендуется запретить смешивание кириллических и латинских символов. Не рекомендуется использовать в локальной части спецсимволы, кроме точки (.), нижнего подчеркивания (_) и дефиса (-), а в редких случаях – плюса (+), а также начинать и заканчивать ее любым спецсимволом или ставить два спецсимвола подряд. Рекомендованная длина локальной части кириллического адреса электронной почты – от 1 до 64 символов.

Локальные части кириллического адреса электронной почты рекомендуется хранить и обрабатывать в кодировке «Юникод» (UTF-8), при поиске адресов рекомендуется обеспечивать возможность нахождения элементов доменной части как в форме A-метки, так и в форме U-метки. Для отображения доменной части кириллического адреса электронной почты действуют рекомендации, аналогичные изложенным для кириллических доменных имен.

Проблемы с кириллицей и способы их решения

Реализация поддержки IDN до сих пор представляет проблему для значительной части ПО, несмотря на существование таких доменов на протяжении десятилетия. Зачастую разработчики прибегают к непосредственной конвертации доменов в символы ASCII посредством преобразования Punycode, и в итоге из нормально читаемых Unicode-символов, в том числе, кириллических, получаются длинные ACE-последовательности в виде абракадабры, только пугающей неподготовленных пользователей. Дополнительной проблемой также является поддержка интернационализированных почтовых адресов EAI.

Полной поддержкой IDN/EAI обладают почтовые серверы Exim версии 4.86 и выше и Postfix 3.0 и выше, библиотека ICU версии 46 и выше, Web-браузер Mozilla Firefox, а также веб-мейл сервер Roundcube версии 1.4.0 и выше. Частично поддерживают IDN/EAI CMS Joomla! и WordPress, а также десктопный e-mail клиент Mozilla Thunderbird.

По словам Марии Колесниковой, сегодня успешная поддержка кириллических доменных имен и адресов электронной почты реализована в таких продуктах как CMS «1С-Битрикс», коммуникационных серверах CommuniGate Pro и других.

Вода камень точит

В апреле 2010 г. CNews впервые сообщил о том, что международный регулятор ICANN официально делегировал России домен «.РФ», при этом Россия стала первой в мире страной, которая получила право на собственный национальный кириллический домен верхнего уровня. В апреле 2010 г. CNews также рассказал о запуске первых четырех доменов в зоне .РФ – их запустили Кремль и Правительство России, координационный центр домена .РФ и регистратор RU-Center.

Проект «Поддерживаю.РФ», запущенный в мае 2020 г., был создан Координационным центром доменов .RU/.РФ в 2020 году в ознаменование десятилетнего юбилея российского домена верхнего уровня .РФ. Проект призван помочь разработчикам ПО реализовать полноценную поддержку кириллических доменных имен и адресов электронной почты в их продуктах, а системным администраторам – правильно выбрать и настроить такое ПО. Российская рабочая группа по универсальному принятию была создана группой экспертов в области универсального принятия, IDN и EAI, в 2020 г. для оказания содействия процессам внедрения технических стандартов в области поддержки IDN-доменов и EAI-адресов, а также повышения уровня информированности всех заинтересованных сторон.

В конце марта 2021 г. CNews сообщил о том, что хостинг-провайдер Reg.ru совместно со специалистами проекта «Поддерживаю.рф» запустил тестирование почтовой системы с полноценной поддержкой кириллических адресов электронной почты. Как рассказала CNews Мария Колесникова, по плану закрытый тест сервиса продлится до конца 2021 г., и по его итогам не исключено продление эксперимента, при этом в открытую фазу тест переводиться не будет. В процессе тестирования планируется отработать решения, которые затем могут использоваться хостерами.

«Надеемся, в дальнейшем они действительно предложат услуги поддержки кириллических e-mail своим клиентам», – заявила Мария Колесникова.

Владимир Бахур

Короткая ссылка