Рекомендации по внедрению в программном обеспечении поддержки доменных имен и адресов почты c использованием символов кириллицы: различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
(не показано 12 промежуточных версий этого же участника) | |||
Строка 17: | Строка 17: | ||
Настоящий документ разработан в соответствии с указанными пятью принципами универсального принятия и включают в себя следующие рекомендации: | Настоящий документ разработан в соответствии с указанными пятью принципами универсального принятия и включают в себя следующие рекомендации: | ||
= Для поддержки доменных имен с символами кириллицы = | == Для поддержки доменных имен с символами кириллицы == | ||
# Принятие доменного имени | # Принятие доменного имени | ||
Строка 25: | Строка 25: | ||
## При регистрации доменных имен с символами кириллицы рекомендуется соблюдать следующие требования: | ## При регистрации доменных имен с символами кириллицы рекомендуется соблюдать следующие требования: | ||
### Любое интернационализированное доменное имя должно соответствовать положениям стандарта IDNA 2008. | ### Любое интернационализированное доменное имя должно соответствовать положениям стандарта IDNA 2008. | ||
### Перед проведением проверок доменного имени рекомендуется привести доменное имя к нижнему регистру и провести нормализацию NFC<sup>4</sup>. | |||
### Доменное имя может содержать кириллические символы, а также дефис (-) и цифры (0-9). Перечень допустимых символов должен быть взят из IDN таблицы соответствующего ДВУ или, при отсутствии таковой, из правил Регистрации соответствующего ДВУ; | |||
### Использовать символы, отличные от перечисленных в пункте 2.1.3., в одной метке доменного имени рекомендуется запрещать. | |||
###Рекомендуется также предпринимать усилия для исключения возможности омоглифических атак (выдачи доменного имени за другое на основе внешней схожести начертания символов); | |||
### Доменное имя может начинаться и заканчиваться цифрой или буквой, не может дефисом. Дефис в U-метке не может содержаться одновременно в 3 и 4 позициях; | |||
### Перед проверкой длины доменное имя требуется преобразовать из U-метки в A-метку; | |||
### Доменное имя может иметь длину домена второго и далее уровней от 1 до 63 октетов. Длину интернационализированного доменного имени в символах необходимо измерять в A-метке; | |||
# Перед проведением проверок доменного имени рекомендуется привести доменное имя к нижнему регистру и провести нормализацию NFC<sup>4</sup>. | ### Общая длина доменного имени не может превышать 255 символов в А-метке. | ||
# Доменное имя может содержать кириллические символы, а также дефис (-) и цифры (0-9). Перечень допустимых символов должен быть взят из IDN таблицы соответствующего ДВУ или, при отсутствии таковой, из правил Регистрации соответствующего ДВУ; | ## Для существующего доменного имени рекомендуется проверять его делегирование при помощи DNS-запроса.<br>В отдельных случаях возможно проведение дополнительной проверки существования домена верхнего уровня, для которой рекомендуется использовать регулярно обновляемый список доменов верхнего уровня, предоставляемый IANA<sup>5</sup>. | ||
# Использовать символы, отличные от перечисленных в пункте 2.1.3., в одной метке доменного имени рекомендуется запрещать. | |||
# Доменное имя может начинаться и заканчиваться цифрой или буквой, не может дефисом. Дефис в U-метке не может содержаться одновременно в 3 и 4 позициях; | |||
# Перед проверкой длины доменное имя требуется преобразовать из U-метки в A- | |||
# Доменное имя может иметь длину домена второго и далее уровней от 1 до 63 октетов. Длину интернационализированного доменного имени в символах необходимо измерять в A-метке; | |||
# Общая длина доменного имени не может превышать 255 символов в А-метке. | |||
# Для существующего доменного имени рекомендуется проверять его делегирование при помощи DNS-запроса. | |||
В отдельных случаях возможно проведение дополнительной проверки существования домена верхнего уровня, для которой рекомендуется использовать регулярно обновляемый список доменов верхнего уровня, предоставляемый IANA<sup>5</sup>. | |||
# Хранение доменного имени | # Хранение доменного имени | ||
## Доменное имя должно храниться в БД или в файлах в кодировке Юникод (UTF-8). | ## Доменное имя должно храниться в БД или в файлах в кодировке Юникод (UTF-8). | ||
## Доменное имя может храниться в виде A-метки в дополнение к U-метке, при этом необходимо проверять соответствие обеих меток при изменении одной из них. | ## Доменное имя может храниться в виде A-метки в дополнение к U-метке, при этом необходимо проверять соответствие обеих меток при изменении одной из них. | ||
# Обработка доменного имени | # Обработка доменного имени | ||
## Любые операции с доменными именами должны производиться в кодировке Юникод | ## Любые операции с доменными именами должны производиться в кодировке Юникод(UTF-8). | ||
## При поиске среди набора данных, включающего доменные имена, рекомендуется обеспечивать возможность нахождения элементов по запросу, где каждая метка доменного имена может быть указана как в форме A-метки, так и в форме U-метки. | |||
(UTF-8). | |||
# При поиске среди набора данных, включающего доменные имена, рекомендуется обеспечивать возможность нахождения элементов по запросу, где каждая метка доменного имена может быть указана как в форме A-метки, так и в форме U-метки. | |||
# Отображение доменного имени | # Отображение доменного имени | ||
## Доменное имя должно отображаться в графическом интерфейсе программного обеспечения в кодировке Юникод (UTF-8). | ## Доменное имя должно отображаться в графическом интерфейсе программного обеспечения в кодировке Юникод (UTF-8). | ||
Строка 65: | Строка 45: | ||
## При отображении ошибок, связанных с доменным именем, рекомендуется выделять соответствующую метку доменного имени, с которой связана ошибка. | ## При отображении ошибок, связанных с доменным именем, рекомендуется выделять соответствующую метку доменного имени, с которой связана ошибка. | ||
= | == Для поддержки адресов электронной почты с символами кириллицы == | ||
# Принятие адреса электронной почты | # Принятие адреса электронной почты | ||
## Доменная часть адреса электронной почты должна передаваться в соответствии с п. 1 | ## Доменная часть адреса электронной почты должна передаваться в соответствии с п. 1 раздела I. | ||
## Локальная часть адреса электронной почты должна передаваться только в кодировке Юникод (UTF-8). | |||
раздела I. | |||
# Локальная часть адреса электронной почты должна передаваться только в кодировке Юникод (UTF-8). | |||
# Проверка адреса электронной почты | # Проверка адреса электронной почты | ||
## Доменная часть<sup>6</sup> адреса электронной почты должна проверяться в соответствии с п. 2 | ## Доменная часть<sup>6</sup> адреса электронной почты должна проверяться в соответствии с п. 2 раздела I. | ||
## Локальная часть<sup>7</sup> интернационализированного адреса электронной почты должна соответствовать требованиям стандарта EAI. | |||
раздела I. | ## При создании (регистрации) нового адреса электронной почты в локальной части рекомендуется соблюдать следующие принятые нормы: | ||
### Перед проведением проверок рекомендуется привести локальную часть адреса электронной почты к нижнему регистру и провести нормализацию по форме NFC. При необходимости возможно использование нормализации по форме NFKC<sup>8</sup>. | |||
# Локальная часть<sup>7</sup> интернационализированного адреса электронной почты должна соответствовать требованиям стандарта EAI. | ### Локальная часть адреса электронной почты может содержать латинские символы (a-z), кириллические символы (а-я), цифры (от 0 до 9); | ||
# При создании (регистрации) нового адреса электронной почты в локальной части рекомендуется соблюдать следующие принятые нормы: | ### Смешивать кириллические и латинские символы, указанные в пункте 2.3.2, в локальной части адреса электронной почты рекомендуется запрещать; | ||
## Перед проведением проверок рекомендуется привести локальную часть адреса электронной почты к нижнему регистру и провести нормализацию по форме NFC. При необходимости возможно использование нормализации по форме NFKC<sup>8</sup>. | ### В локальной части адреса электронной почты не рекомендуется использовать специальные символы, за исключением точки (.), нижнего подчеркивания (_) и дефиса (-). В отдельных случаях допустимо использовать специальный символ плюс (+). | ||
## Локальная часть адреса электронной почты может содержать латинские символы | ### Локальную часть адреса электронной почты не рекомендуется начинать и заканчивать любым специальным символом или иметь в ней два специальных символа подряд. | ||
### Длина локальной части адреса электронной почты может быть от 1 до 64 символов. | |||
# Смешивать кириллические и латинские символы, указанные в пункте 2.3.2, в локальной части адреса электронной почты рекомендуется запрещать; | |||
# В локальной части адреса электронной почты не рекомендуется использовать специальные символы, за исключением точки (.), нижнего подчеркивания (_) и дефиса (-). В отдельных случаях допустимо использовать специальный символ плюс (+). | |||
# Локальную часть адреса электронной почты не рекомендуется начинать и заканчивать любым специальным символом или иметь в ней два специальных символа подряд. | |||
# Длина локальной части адреса электронной почты может быть от 1 до 64 символов. | |||
# Хранение адреса электронной почты | # Хранение адреса электронной почты | ||
## Доменная часть адреса электронной почты должна храниться в соответствии с п. 3 | ## Доменная часть адреса электронной почты должна храниться в соответствии с п. 3 раздела I. | ||
## Локальная часть адреса электронной почты должна храниться в кодировке Юникод (UTF-8). | |||
раздела I. | |||
# Локальная часть адреса электронной почты должна храниться в кодировке Юникод | |||
(UTF-8). | |||
# Обработка адреса электронной почты | # Обработка адреса электронной почты | ||
## Любые операции с адресами электронной почты рекомендуется производить в кодировке Юникод (UTF-8). | ## Любые операции с адресами электронной почты рекомендуется производить в кодировке Юникод (UTF-8). | ||
## При поиске среди набора данных, включающего адреса электронной почты, рекомендуется обеспечивать возможность нахождения элементов по запросу, где любая метка в доменной части может быть указана как в форме A-метки, так и в форме U-метки. | ## При поиске среди набора данных, включающего адреса электронной почты, рекомендуется обеспечивать возможность нахождения элементов по запросу, где любая метка в доменной части может быть указана как в форме A-метки, так и в форме U-метки. | ||
# Отображение адреса электронной почты | # Отображение адреса электронной почты | ||
## Доменная часть адреса электронной почты должна отображаться в соответствии с п. 5 раздела I. | |||
## Локальная часть адреса электронной почты должна отображаться в кодировке Юникод (UTF-8). | |||
## При отображении ошибок, связанных с адресом электронной почты, рекомендуется выделять локальную часть адреса, если ошибка в ней, или соответствующую метку доменного имени, если ошибка в доменной части. | |||
== Список использованных источников == | |||
= | |||
Настоящий документ разработан на основе приведенных ниже материалов: | |||
< | * Introduction to Universal Acceptance,<br>[https://uasg.tech/wp-content/uploads/documents/UASG007-en-digital.pdf https://uasg.tech/wp-content/uploads/documents/UASG007-en-digital.pdf] | ||
* Email Address Internationalization – Technical Perspective,<br>[https://uasg.tech/wp-content/uploads/documents/UASG019B-en-digital.pdf https://uasg.tech/wp-content/uploads/documents/UASG019B-en-digital.pdf] | |||
* Стандарт Internationalized Domain Names for Applications [https://www.ietf.org/rfc/rfc5890.txt | * Universal Acceptance Readiness Framework,<br>[https://uasg.tech/wp-content/uploads/documents/UASG026-en-digital.pdf https://uasg.tech/wp-content/uploads/documents/UASG026-en-digital.pdf] | ||
* Стандарт EAI, интернационализации электронной почты [https://tools.ietf.org/html/rfc6530 | * RFC 5321 - Simple Mail Transfer Protocol,<br>[https://tools.ietf.org/html/rfc5321 https://tools.ietf.org/html/rfc5321] | ||
* Юникод консорциум, [https://home.unicode.org/ | * RFC 5322 - Internet Message Format,<br>[https://tools.ietf.org/html/rfc5322 https://tools.ietf.org/html/rfc5322] | ||
* Группа управления по универсальному принятию (Universal Acceptance Steering Group, UASG), [https://uasg.tech/ | * RFC 1035 - Domain Names - Implementation And Specification,<br>[https://tools.ietf.org/html/rfc1035 https://tools.ietf.org/html/rfc1035] | ||
* Поддерживаю.РФ - проект развития экосистемы поддержки доменных имен и почтовых адресов на национальных языках, | * RFC 3492 - Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications,<br> | ||
* Формы нормализации Юникод, [http://www.unicode.org/reports/tr15/ | [https://www.ietf.org/rfc/rfc3492.txt https://www.ietf.org/rfc/rfc3492.txt] | ||
* Блоки символов Юникод, [https://www.unicode.org/charts/ | * Стандарт Internationalized Domain Names for Applications <br>[https://www.ietf.org/rfc/rfc5890.txt https://www.ietf.org/rfc/rfc5890.txt]<br>[https://www.ietf.org/rfc/rfc5891.txt https://www.ietf.org/rfc/rfc5891.txt]<br>[https://www.ietf.org/rfc/rfc5892.txt https://www.ietf.org/rfc/rfc5892.txt]<br>[https://www.ietf.org/rfc/rfc5893.txt https://www.ietf.org/rfc/rfc5893.txt]<br>[https://www.ietf.org/rfc/rfc5894.txt https://www.ietf.org/rfc/rfc5894.txt]<br>[https://www.ietf.org/rfc/rfc5895.txt https://www.ietf.org/rfc/rfc5895.txt] | ||
* Стандарт EAI, интернационализации электронной почты [https://tools.ietf.org/html/rfc6530 https://tools.ietf.org/html/rfc6530]<br>[https://tools.ietf.org/html/rfc6531 https://tools.ietf.org/html/rfc6531] [https://tools.ietf.org/html/rfc6532 https://tools.ietf.org/html/rfc6532] [https://tools.ietf.org/html/rfc6533 https://tools.ietf.org/html/rfc6533] | |||
* Юникод консорциум, [https://home.unicode.org/ https://home.unicode.org/] | |||
* Группа управления по универсальному принятию (Universal Acceptance Steering Group, UASG), [https://uasg.tech/ https://uasg.tech/] | |||
* Поддерживаю.РФ - проект развития экосистемы поддержки доменных имен и почтовых адресов на национальных языках,<br>https://поддерживаю.рф | |||
* Формы нормализации Юникод,<br>[http://www.unicode.org/reports/tr15/ http://www.unicode.org/reports/tr15/] | |||
* Блоки символов Юникод,<br>[https://www.unicode.org/charts/ https://www.unicode.org/charts/] | |||
* IDN таблицы кириллических доменов верхнего уровня | * IDN таблицы кириллических доменов верхнего уровня | ||
<blockquote>.РФ - [https://www.iana.org/domains/idn-tables/tables/xn--p1ai_cyrl_1.0.txt https://www.iana.org/domains/idn-tables/tables/xn--p1ai_cyrl_1.0.txt] | |||
.ДЕТИ - [https://www.iana.org/domains/idn-tables/tables/xn--d1acj3b_ru_1.0.txt https://www.iana.org/domains/idn-tables/tables/xn--d1acj3b_ru_1.0.txt] | |||
.ДЕТИ - [https://www.iana.org/domains/idn-tables/tables/xn--d1acj3b_ru_1.0.txt | |||
.МОСКВА - [https://www.iana.org/domains/idn-tables/tables/xn--80adxhks_ru_1.0.txt | .МОСКВА - [https://www.iana.org/domains/idn-tables/tables/xn--80adxhks_ru_1.0.txt https://www.iana.org/domains/idn-tables/tables/xn--80adxhks_ru_1.0.txt] | ||
.РУС - [https://www.iana.org/domains/idn-tables/tables/xn--p1acf_cyrl_1.0.txt | .РУС - [https://www.iana.org/domains/idn-tables/tables/xn--p1acf_cyrl_1.0.txt https://www.iana.org/domains/idn-tables/tables/xn--p1acf_cyrl_1.0.txt] | ||
.SU - [https://www.tcinet.ru/su/ver2_unicode.php | .SU - [https://www.tcinet.ru/su/ver2_unicode.php https://www.tcinet.ru/su/ver2_unicode.php] | ||
</blockquote> | </blockquote> |
Текущая версия от 10:14, 27 июня 2022
Рекомендации по внедрению в программном обеспечении поддержки доменных имен и адресов электронной почты c использованием символов кириллицы
Настоящий документ содержит технические рекомендации для разработчиков программного обеспечения, в котором планируется внедрение поддержки или уже реализована поддержка кириллических доменных имен и/или адресов электронной почты с использованием российских доменов верхнего уровня (в частности, .РФ, .SU, .ДЕТИ, .МОСКВА,
.РУС).
Цель документа – обеспечить разработчиков необходимыми данными для корректного внедрения принципов универсального принятия в их программные продукты с учетом специфики кириллических доменных имен и соответствующих адресов электронной почты.
Группой управления по универсальному принятию (UASG1) определены следующие базовые принципы:
- Принятие — получение доменного имени или адреса электронной почты в виде строки символов из пользовательского интерфейса, файла или API, используемого программным обеспечением;
- Проверка (или валидация) – является ли введенная информация допустимой;
- Хранение – правильно ли она сохраняется и извлекается из базы данных (или файла с данными);
- Обработка – в правильном ли виде доменные имена или адреса электронной почты используются программным обеспечением для решения своих непосредственных задач;
- Отображение – правильно ли отображаются в пользовательском интерфейсе программного обеспечения доменные имена и адреса электронной почты.
Настоящий документ разработан в соответствии с указанными пятью принципами универсального принятия и включают в себя следующие рекомендации:
Для поддержки доменных имен с символами кириллицы
- Принятие доменного имени
- Передача программному обеспечению доменного имени как пользователем с помощью GUI, так и через API, должна быть возможна как в формате U-метки2 (Unicode), так и в формате A-метки (Punycode).
- Если передача пользователем доменного имени осуществляется с помощью GUI в формате A-метки3, рекомендуется преобразовать его в U-метку средствами предобработки данных.
- Проверка доменного имени
- При регистрации доменных имен с символами кириллицы рекомендуется соблюдать следующие требования:
- Любое интернационализированное доменное имя должно соответствовать положениям стандарта IDNA 2008.
- Перед проведением проверок доменного имени рекомендуется привести доменное имя к нижнему регистру и провести нормализацию NFC4.
- Доменное имя может содержать кириллические символы, а также дефис (-) и цифры (0-9). Перечень допустимых символов должен быть взят из IDN таблицы соответствующего ДВУ или, при отсутствии таковой, из правил Регистрации соответствующего ДВУ;
- Использовать символы, отличные от перечисленных в пункте 2.1.3., в одной метке доменного имени рекомендуется запрещать.
- Рекомендуется также предпринимать усилия для исключения возможности омоглифических атак (выдачи доменного имени за другое на основе внешней схожести начертания символов);
- Доменное имя может начинаться и заканчиваться цифрой или буквой, не может дефисом. Дефис в U-метке не может содержаться одновременно в 3 и 4 позициях;
- Перед проверкой длины доменное имя требуется преобразовать из U-метки в A-метку;
- Доменное имя может иметь длину домена второго и далее уровней от 1 до 63 октетов. Длину интернационализированного доменного имени в символах необходимо измерять в A-метке;
- Общая длина доменного имени не может превышать 255 символов в А-метке.
- Для существующего доменного имени рекомендуется проверять его делегирование при помощи DNS-запроса.
В отдельных случаях возможно проведение дополнительной проверки существования домена верхнего уровня, для которой рекомендуется использовать регулярно обновляемый список доменов верхнего уровня, предоставляемый IANA5.
- При регистрации доменных имен с символами кириллицы рекомендуется соблюдать следующие требования:
- Хранение доменного имени
- Доменное имя должно храниться в БД или в файлах в кодировке Юникод (UTF-8).
- Доменное имя может храниться в виде A-метки в дополнение к U-метке, при этом необходимо проверять соответствие обеих меток при изменении одной из них.
- Обработка доменного имени
- Любые операции с доменными именами должны производиться в кодировке Юникод(UTF-8).
- При поиске среди набора данных, включающего доменные имена, рекомендуется обеспечивать возможность нахождения элементов по запросу, где каждая метка доменного имена может быть указана как в форме A-метки, так и в форме U-метки.
- Отображение доменного имени
- Доменное имя должно отображаться в графическом интерфейсе программного обеспечения в кодировке Юникод (UTF-8).
- Доменное имя может отображаться в виде А-метки только в том случае, когда оно идет в дополнение к соответствующему доменному имени в виде U-метки.
- При отображении ошибок, связанных с доменным именем, рекомендуется выделять соответствующую метку доменного имени, с которой связана ошибка.
Для поддержки адресов электронной почты с символами кириллицы
- Принятие адреса электронной почты
- Доменная часть адреса электронной почты должна передаваться в соответствии с п. 1 раздела I.
- Локальная часть адреса электронной почты должна передаваться только в кодировке Юникод (UTF-8).
- Проверка адреса электронной почты
- Доменная часть6 адреса электронной почты должна проверяться в соответствии с п. 2 раздела I.
- Локальная часть7 интернационализированного адреса электронной почты должна соответствовать требованиям стандарта EAI.
- При создании (регистрации) нового адреса электронной почты в локальной части рекомендуется соблюдать следующие принятые нормы:
- Перед проведением проверок рекомендуется привести локальную часть адреса электронной почты к нижнему регистру и провести нормализацию по форме NFC. При необходимости возможно использование нормализации по форме NFKC8.
- Локальная часть адреса электронной почты может содержать латинские символы (a-z), кириллические символы (а-я), цифры (от 0 до 9);
- Смешивать кириллические и латинские символы, указанные в пункте 2.3.2, в локальной части адреса электронной почты рекомендуется запрещать;
- В локальной части адреса электронной почты не рекомендуется использовать специальные символы, за исключением точки (.), нижнего подчеркивания (_) и дефиса (-). В отдельных случаях допустимо использовать специальный символ плюс (+).
- Локальную часть адреса электронной почты не рекомендуется начинать и заканчивать любым специальным символом или иметь в ней два специальных символа подряд.
- Длина локальной части адреса электронной почты может быть от 1 до 64 символов.
- Хранение адреса электронной почты
- Доменная часть адреса электронной почты должна храниться в соответствии с п. 3 раздела I.
- Локальная часть адреса электронной почты должна храниться в кодировке Юникод (UTF-8).
- Обработка адреса электронной почты
- Любые операции с адресами электронной почты рекомендуется производить в кодировке Юникод (UTF-8).
- При поиске среди набора данных, включающего адреса электронной почты, рекомендуется обеспечивать возможность нахождения элементов по запросу, где любая метка в доменной части может быть указана как в форме A-метки, так и в форме U-метки.
- Отображение адреса электронной почты
- Доменная часть адреса электронной почты должна отображаться в соответствии с п. 5 раздела I.
- Локальная часть адреса электронной почты должна отображаться в кодировке Юникод (UTF-8).
- При отображении ошибок, связанных с адресом электронной почты, рекомендуется выделять локальную часть адреса, если ошибка в ней, или соответствующую метку доменного имени, если ошибка в доменной части.
Список использованных источников
Настоящий документ разработан на основе приведенных ниже материалов:
- Introduction to Universal Acceptance,
https://uasg.tech/wp-content/uploads/documents/UASG007-en-digital.pdf - Email Address Internationalization – Technical Perspective,
https://uasg.tech/wp-content/uploads/documents/UASG019B-en-digital.pdf - Universal Acceptance Readiness Framework,
https://uasg.tech/wp-content/uploads/documents/UASG026-en-digital.pdf - RFC 5321 - Simple Mail Transfer Protocol,
https://tools.ietf.org/html/rfc5321 - RFC 5322 - Internet Message Format,
https://tools.ietf.org/html/rfc5322 - RFC 1035 - Domain Names - Implementation And Specification,
https://tools.ietf.org/html/rfc1035 - RFC 3492 - Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications,
https://www.ietf.org/rfc/rfc3492.txt
- Стандарт Internationalized Domain Names for Applications
https://www.ietf.org/rfc/rfc5890.txt
https://www.ietf.org/rfc/rfc5891.txt
https://www.ietf.org/rfc/rfc5892.txt
https://www.ietf.org/rfc/rfc5893.txt
https://www.ietf.org/rfc/rfc5894.txt
https://www.ietf.org/rfc/rfc5895.txt - Стандарт EAI, интернационализации электронной почты https://tools.ietf.org/html/rfc6530
https://tools.ietf.org/html/rfc6531 https://tools.ietf.org/html/rfc6532 https://tools.ietf.org/html/rfc6533 - Юникод консорциум, https://home.unicode.org/
- Группа управления по универсальному принятию (Universal Acceptance Steering Group, UASG), https://uasg.tech/
- Поддерживаю.РФ - проект развития экосистемы поддержки доменных имен и почтовых адресов на национальных языках,
https://поддерживаю.рф - Формы нормализации Юникод,
http://www.unicode.org/reports/tr15/ - Блоки символов Юникод,
https://www.unicode.org/charts/ - IDN таблицы кириллических доменов верхнего уровня
.РФ - https://www.iana.org/domains/idn-tables/tables/xn--p1ai_cyrl_1.0.txt
.ДЕТИ - https://www.iana.org/domains/idn-tables/tables/xn--d1acj3b_ru_1.0.txt
.МОСКВА - https://www.iana.org/domains/idn-tables/tables/xn--80adxhks_ru_1.0.txt
.РУС - https://www.iana.org/domains/idn-tables/tables/xn--p1acf_cyrl_1.0.txt