Хранит ли имя домена Punycode (UName) используемую таблицу IDN?
TL; DR: Нет.
Вы смешиваете несколько вещей, но это сложно резюмировать все (я дал очень подробный ответ по номеру https://webmasters.stackexchange.com/a/122160/75842, который должен вам помочь).
Для компьютеров ê
португальский или норвежский язык не имеет значения на уровне DNS. Точно так же, как на уровне Юникода, ê
- это «U + 00EA LATIN SMALL LETTER E WITH CIRCUMFLEX», который определяется как «латинский» символ, независимо от того, на каком языке он может использоваться.
Вкратце:
IETF изобрела алгоритм Punycode, а точнее стандарт IDNA, чтобы убедиться, что люди могут использовать (почти) любой символ в своем доменном имени. Таким образом, алгоритм представляет собой просто перевод «любой строки Unicode» в «строку ASCII, начинающуюся с xn--
»
Индустрия доменных имен, ICANN и все реестры, затем решение по правилам. Например, существует основное правило «нельзя смешивать символы из нескольких скриптов в одной строке», чтобы в основном избежать атак с использованием гомографа IDN (что на самом деле не является техническим ограничением); в моем ответе выше подробно рассказывается об этом.
На уровне EPP различные субъекты создали различные расширения, здесь нет настоящей стандартизированной спецификации «IDN». Вот почему вы также найдете людей, говорящих о «сценариях», других о «языках», о «репертуаре» и т. Д. c. Это беспорядок (Unicode говорит только о скриптах, а не о языках). Некоторые реестры не используют никаких расширений, а другие используют. Некоторые хотят, чтобы вы всегда передавали ссылку на «таблицу» IDN (также известную как сценарий / язык / что-то еще), некоторым это потребуется только в некоторых случаях. Например, посмотрите на практику Verisign IDN по адресу https://www.verisign.com/en_US/channel-resources/domain-registry-products/idn/idn-policy/registration-rules/index.xhtml;. Это сводится к следующему: «для всех регистраций IDN требуется языковой тег; некоторые из них прикреплены к определенному c списку возможных символов»
Теоретически вы можете найти все, но на практике только большую часть таблиц IDN, существующих в https://www.iana.org/domains/idn-tables, и вы можете видеть, что они относятся к реестру, показывая, что эта дополнительная информация действительно не закодирована в форме ASCII имени домена после преобразования алгоритмом Punycode.
Я пытаюсь понять, кто принимает здесь таблицу IDN ...
Должно быть не должно быть предположений (либо указано регистратором, либо не указано), либо таблица IDN не требуется (реестр просто выполнит преобразование Punycode в обратном порядке и на основе найденных символов решит, в какой таблице он должен находиться).
Я вижу транзакцию EPP - она не использует расширение IDN и, следовательно, не может предоставить таблицу IDN серверу, даже если он хотел
Какой реестр? Если вы являетесь регистратором, на практике реестр должен быть в состоянии помочь вам и ответить на подобные вопросы. Обратите внимание, что большую часть времени (я мог бы написать «все время», но я не уверен, что не существует встречного примера или, по крайней мере, я его не имею в виду прямо сейчас), во время EPP domain:check
вы просто передаете имя (в ASCII form) без какого-либо расширения IDN, в то время как вы передаете расширение IDN, если оно есть, во время domain:create
. Это также означает, что domain:check
может не дать вам надлежащего полного ответа только потому, что на данный момент не все известно.
См. Эти документы EPP о расширениях IDN: