IDN
Оригинальное название: Internationalized Domain Name (IDN)
Коротко
Доменное имя с символами национальных алфавитов — кириллицы, китайских иероглифов, арабской вязи. В DNS оно хранится в ASCII-виде с префиксом xn--.
Что такое «IDN»
DNS исторически понимает только латиницу, цифры и дефис. Менять протокол и все серверы мира ради других алфавитов было нереально, поэтому выбрали обходной путь: преобразование выполняет программа пользователя. Браузер берёт имя «пример.рф», переводит каждую метку в кодировку Punycode и отправляет в DNS строку из допустимых ASCII-символов. Правила этого перевода описаны в стандартах IDNA — сначала IDNA2003, затем обновлённом IDNA2008.
Кириллический домен верхнего уровня .рф делегирован в 2010 году — в числе первых национальных зон не на латинице. Сегодня IDN-имена второго уровня допускаются во многих зонах, включая .com.
Настройка сервера: везде Punycode
Веб-сервер, панель хостинга и центр сертификации работают с ASCII-формой. В конфигурации nginx и при выпуске сертификата указывают именно её:
server {
listen 443 ssl;
server_name xn--e1afmkfd.xn--p1ai www.xn--e1afmkfd.xn--p1ai;
}
certbot --nginx -d xn--e1afmkfd.xn--p1ai -d www.xn--e1afmkfd.xn--p1ai
В настройках CMS адрес сайта можно хранить и в кириллице, но при проблемах с редиректами, cookie или формами стоит проверить, не смешиваются ли две формы записи одного домена.
Подводные камни
- Гомографы. Кириллическая «а» и латинская «a» выглядят одинаково, и на этом строятся фишинговые домены. Браузеры показывают Punycode вместо красивого имени, если в метке смешаны алфавиты или имя похоже на известный бренд.
- Почта на IDN-домене работает не везде: часть почтовых программ и форм на сайтах не принимает кириллические адреса.
- В рекламных кабинетах, метриках и логах домен может отображаться как xn--..., и это не ошибка.
- При регистрации важен национальный домен: в .рф кириллическое имя выглядит естественно, а сочетание кириллицы и латинской зоны вроде «пример.com» запоминается хуже.

