ru

Punycode — способ кодирования, который представляет доменные метки с символами Unicode в виде обычного ASCII. Например, café.com превращается в xn--caf-dma.com, что позволяет интернационализированным именам (IDN) работать в DNS.

Зачем нужен Punycode

Система DNS исторически понимает только буквы латиницы, цифры и дефис. Чтобы домены на кириллице, китайском или с диакритикой работали, браузер переводит каждую метку в ASCII-форму с префиксом xn-- перед отправкой запроса. В адресной строке и в URL пользователь видит привычный текст, а по сети уходит его Punycode-версия.

Как это выглядит

Несколько особенностей кодирования:

  • Префикс xn-- — помечает, что метка, например поддомен, закодирована по правилам IDN.
  • Отдельные метки — кодируется каждая часть имени, а не адрес целиком; точки-разделители остаются как есть.
  • Гомоглифы — похожие символы из разных алфавитов создают риск фишинга, поэтому реестры доменных зон ограничивают допустимые наборы.

Так поддержка национальных алфавитов появляется без переделки DNS, и домены остаются доступны из любого браузера.

Punycode — кодирование Unicode-доменов в ASCII
Узнать больше

Облако тегов