Как http: //d§.cc/ действительный URL?

712
Bungle

Просматривая онлайн сегодня, я наткнулся на следующий URL:

http://d§.cc/ 

Как-то это работает. В Firefox 3.6 / Mac браузер интерпретирует URL как:

http://xn--d-jca.cc/ 

В Safari 5 / Mac URL-адрес не изменяется при переходе к нему.

Я всегда понимал, что символ § ( знак раздела ), среди прочего, недопустим в URL. Процитируем RFC 1738 :

Таким образом, только буквенно-цифровые символы, специальные символы "$ -_. +! * '()," И зарезервированные символы, используемые для их зарезервированных целей, могут быть использованы в URL без кодирования.

Это странность кодировки символов? И как / где я могу зарегистрировать свой собственный § URL?

2

2 ответа на вопрос

12
Jordan

Это интернационализированное доменное имя или IDN. Используемая кодировка называется punycode .

Многие крупные регистраторы занимаются продажей доменных имен IDN, включая GoDaddy, но когда я зарегистрировал свой тщеславный IDN (ə.tv), я обнаружил, что Name.com проще. Они стоят столько же, сколько "обычные" домены.

Ниже приведен список допустимых символов IDN - однако учтите, что многие из этих символов не будут отображаться правильно во всех шрифтах, поэтому, если вы хотите купить IDN, убедитесь, что вы тестируете его в часто используемых шрифтах на вашем компьютере. целевые платформы перед покупкой.

И Safari будет отображать версию URL в Юникоде, если только символ не склонен к «подделке», и в этом случае он будет отображать версию punycode, например Firefox. См. Http://support.apple.com/kb/TA22996 для деталей. 14 лет назад 3
Спасибо, Джордан! Это очень интересно - я никогда не слышал об этом раньше. Узнавайте что-то новое каждый день. Bungle 14 лет назад 0
Я предполагаю, что это означает, что я не мог бы зарегистрировать d§.cc, если кто-то уже зарегистрировал xn--d-jca.cc? e100 13 лет назад 0
Правильно, @ e100 - это один и тот же домен. Jordan 13 лет назад 2
1
Jörg W Mittag

Это называется IDN (интернационализированное доменное имя). Это не имеет ничего общего с URI, это особенность DNS (Domain Name System), которая www.example.comпреобразует понятные человеку имена DNS, например, в IP-адреса, например 127.0.0.1.

Поскольку изначально система доменных имен была только ASCII, IDN была введена обратно совместимым образом: DNS-имена, содержащие символы не-ASCII, кодируются в DNS-имена, содержащие только символы ASCII, с использованием алгоритма Punycode, который специально разработан для эффективен для типов строк, которые обычно содержатся в DNS-имени и при этом могут быть несколько удобочитаемыми даже в закодированном виде.

Основная цель IDN, как следует из названия, состоит в том, чтобы сделать возможным регистрацию доменных имен на языках, отличных от английского. Однако побочным эффектом является то, что теперь все имена Unicode, включая символы, которые на самом деле не имеют ничего общего с неанглийскими языками, могут использоваться в доменных именах.

Похожие вопросы