Сохраняет ли доменное имя Punycode (UName) используемую таблицу IDN? - PullRequest
0 голосов
/ 10 июля 2020

Я создал доменное имя, например: même.vip
Я вижу в базе данных, что доменное имя было зарегистрировано в таблице IDN: «fr».

Однако, ' ê 'может быть португальским, норвежским и т. д. c ...

Я пытаюсь понять, кто использует здесь таблицу IDN ...

  • Я вижу EPP транзакция - он не использует расширение IDN и поэтому не может предоставить серверу таблицу IDN, даже если он хотел
  • Я не могу получить доступ к коду, который заполнил эту запись БД

Поэтому мой лучший шанс - узнать, содержит ли доменное имя Punycode информацию о том, какая таблица была использована. Если нет: тогда я знаю, что это БД или какая-то служба в реестре после команды EPP.
(Конечно, если punycode ДЕЙСТВИТЕЛЬНО содержит таблицу IDN, мне нужно еще покопаться!)

1 Ответ

1 голос
/ 14 июля 2020

Хранит ли имя домена 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:

...