Какова максимальная длина доменного имени, преобразованного IDNA?

Перво-наперво:

Я сохраняю несколько доменов в базе данных после того, как преобразовал каждое доменное имя в его версию IDNA . Что мне нужно знать, максимальную длину может иметь такое доменное имя, преобразованное в IDNA, чтобы я мог определить максимальную длину поля базы данных.

Известный факт:

Теперь я знаю, что максимальное количество символов в имени домена (включая любые поддомены) составляет 255 символов.

Где я его потерял:

На первый взгляд это просто, но ... означает ли это обычные символы ascii для международных символов (подумайте о кодировке UTF-8)?

Приведу пример: домен «müller.de» состоит из 9 символов, если я игнорирую, что «ü» является международным символом, для представления которого требуется больше байтов. Версия IDNA для müller.de - xn--mller-kva.de, которая состоит из 16 символов. Это показывает, что определенно существует разница в максимальной длине в зависимости от того, "преобразовано ли" IDNA или нет.

В зависимости от того, какие символы они означают, максимум 255 символов может быть международной версией символа, версией, преобразованной IDNA, или даже обоими.

И здесь я немного потерял ... особенно, потому что я должен принять во внимание, что не все домены будут нормальными и тому подобное, вроде "öüßüöäéèê.example.äöüßüöäéèê-äöüßüöäéèê.test.äöüßüöäéèê.com " и даже худшего следовало ожидать.

Итак, «угадывать» и «надеяться на лучшее» - это не вариант. Мне нужно знать наверняка ...

Вопрос:

На основании известного факта, что максимальное количество символов в имени домена (включая любые поддомены) составляет 255 символов ... какова максимальная длина преобразованного доменного имени IDNA?

Или они означали, что преобразованная версия IDNA (punycode) также ограничена 255 символами (что означает, что домены с международными символами / символами Юникода действительно будут короче ограничения в их представлении Unicode, потому что их преобразованная версия IDNA должна будет соответствовать пределу 255 символов)?

9
задан cmbuckley 3 January 2012 в 10:00
поделиться