IDN (Internationalized Domain Names) — міжнародні доменні імена, які можуть містити символи національних алфавітів: кирилиці, арабської, китайської, японської та ін.
Як працюють IDN-домени
Браузер відображає домен кирилицею: пример.рф. Всередині система перетворює його у формат Punycode, зрозумілий DNS-серверам:
пример.рф → xn--e1afmapc.xn--p1ai
украина.ua → xn--80aaxfb7a.ua
DNS-сервери працюють лише з Punycode. Punycode завжди починається з xn--.
Переваги IDN-доменів
- Запам'ятовуваність для аудиторії, яка не використовує латиницю
- Брендинг рідною мовою
- Доступні зони .рф (Росія), .укр (Україна), .中国 (Китай)
Недоліки та ризики IDN-доменів
- Гомографічні атаки — символи кирилиці візуально схожі на латинські (а vs a). Зловмисники реєструють фішингові домени
- Проблеми з email — не всі поштові клієнти підтримують IDN
- SEO-складнощі — Google індексує Punycode-версію, що може заплутати
- Сумісність — старі системи не розуміють IDN
Чи потрібен IDN-домен вашому сайту
| Ситуація | Рекомендація |
|---|---|
| Локальний бізнес для UA-аудиторії | Краще .ua або .com.ua кирилицею |
| Міжнародний проєкт | Лише .com — IDN створює проблеми |
| Захист бренду | Можна зареєструвати IDN-версію з редиректом |
Punycode: як формується ACE-префікс
Punycode — алгоритм із RFC 3492, який кодує символи поза ASCII у рядок, що складається лише з латинських літер, цифр і дефіса. Підсумкова мітка отримує префікс xn-- (ACE — ASCII Compatible Encoding), після якого йде закодована частина. DNS-сервери, реєстри та більшість реєстраторів працюють лише з цією ASCII-формою — запис національним алфавітом існує тільки на рівні браузера і панелі керування.
# Пряме і зворотне перетворення (пакет libidn2, утиліта idn2)
idn2 пример.рф
# xn--e1afmapc.xn--p1ai
idn2 --decode xn--e1afmapc.xn--p1ai
# пример.рф
Важливий нюанс: один і той самий видимий текст може кодуватися по-різному залежно від версії таблиці IDNA (IDNA2003 проти IDNA2008). Домени, зареєстровані до переходу реєстру на IDNA2008, іноді дають інший Punycode для символів на кшталт німецької «ß» або окремих літер із діакритикою — під час перенесення такого домену до іншого реєстратора варто звірити ACE-рядок посимвольно, а не покладатися на візуальне порівняння.
Часті помилки під час роботи з IDN-доменами
Нижче — повідомлення, з якими реально стикаються під час реєстрації та обслуговування IDN-доменів, і що за ними стоїть.
| Повідомлення або симптом | Причина | Рішення |
|---|---|---|
| «Invalid domain name format» у формі реєстратора | Національний алфавіт введено напряму в поле, яке очікує ASCII, без клієнтського перетворення в Punycode | Перетворити домен через idn2 або онлайн-конвертер і вводити готову форму xn--... |
| dig повертає NXDOMAIN для запису національним алфавітом | Запит пішов до резолвера як є, у UTF-8, а не в ACE-формі — зони з таким іменем не існує | Запитувати лише Punycode-форму: dig xn--e1afmapc.xn--p1ai |
| Лист відхилено з «550 5.1.1 Recipient address rejected» | Частина до «собаки» в адресі — не латиниця, а поштовий сервер отримувача не підтримує SMTPUTF8/EAI (RFC 6531) | Використати латинське ім'я поштової скриньки на Punycode-домені замість нелатинської local-part |
| Браузер замість національного алфавіту показує голий рядок xn--... | Антифішинговий фільтр браузера визначив «змішання скриптів» у мітці і навмисно вимкнув Unicode-відображення | Штатна поведінка захисту від гомографів — не помилка конфігурації домену, змінювати нічого не треба |
Останній рядок таблиці — найчастіший привід для звернень у підтримку: власник домену впевнений, що «домен зламався», хоча насправді спрацював захист самого браузера, і на резолвінг та доставку пошти це не впливає.
Перевірка IDN-домену
# DNS і WHOIS запитуються лише в Punycode-формі
dig xn--e1afmapc.xn--p1ai A +short
whois xn--e1afmapc.xn--p1ai
# Перевірити, що реєстратор повернув саме очікуваний ACE-префікс
idn2 пример.рф
Якщо whois для Punycode-форми повертає «No match for domain», а запис національним алфавітом при цьому «зайнятий» в іншого реєстратора — найімовірніше, це два різні домени в різних TLD або помилка під час ручного формування ACE-рядка, а не збіг.
Коли IDN-домен не підходить
- Міжнародний B2B-проєкт, де основна аудиторія друкує адресу на клавіатурі з латинською розкладкою
- Потрібні email-адреси для зовнішніх партнерів — частина корпоративних поштових серверів досі відхиляє EAI-адреси з нелатинською local-part
- Домен доведеться диктувати телефоном у кол-центрі — Punycode-рядок неможливо продиктувати голосом
- Немає ресурсу на постійний моніторинг схожих гомографічних реєстрацій конкурентами і шахраями
- Основний канал трафіку — офлайн-реклама і вивіски, де адресу вводять вручну по літерах
Якщо задача — звичайний проєкт без національного алфавіту, вибір конкретної зони для домену розібраний у статті як обрати доменну зону.