Utf-8 в поддомене? - PullRequest
       33

Utf-8 в поддомене?

5 голосов
/ 16 марта 2011

Можно ли использовать UTF-8 в поддомене?Если да, то какие символы разрешены и как работает код невозможности смешивания?

Я пытался RTFM, но Google не очень много помочь

1 Ответ

3 голосов
/ 16 марта 2011

В поддоменах нет ничего особенного. Данное доменное имя foo.example.com представляет собой упорядоченный список меток (foo, example, com). Так что вы можете узнать, можете ли вы использовать UTF-8 в данной метке.

Ответ нижнего уровня заключается в том, что метка определяется как:

<label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]
<let-dig> ::= <letter> | <digit>
<letter> ::= any one of the 52 alphabetic characters A through Z in upper case and a through z in lower case
<digit> ::= any one of the ten digits 0 through 9
<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
<let-dig-hyp> ::= <let-dig> | "-"

, что означает, что вы можете найти только [-a-zA-Z0-9] в ярлыке.

Howecer, IDNA используется для кодирования символов Юникода, короче говоря, метка, содержащая другие символы, кодируется с помощью: "xn--" + punycode(nameprep(label)).

Что касается ограничений как минимум:

  • для символов не может быть в метке IDN (U + 002E, U + 3002, U + FF0E, U + FF61).
...