2016-04-08 3 views
2

Я обманывал себя на своем телефоне и решил попробовать помещать emoji в url-панель google chrome. Я вошел в .com, emoji, который эквивалентен unicode U+1F600. Chrome закончил тем, что оценил это как http://xn--e28h.com/, что привело меня к экрану «веб-страница недоступна» (ERR_NAME_NOT_RESOLVED). Я посмотрел xn--e28h на godaddy, и он был недоступен.Emojis в доменных именах - странное поведение в iOS chrome

Вот мои вопросы:

  1. Почему превратиться в хп - e28h? Я не вижу никакого отношения к юникоду.
  2. Почему домены этого формата недоступны на godaddy?
  3. Бонусный вопрос: почему мы не можем помещать emojis в имена доменов?
+0

Это не программирование вопрос. – rmaddy

+0

отредактировал отредактировать, так как это не произошло в сафари –

ответ

1
  1. DNS использует специальный способ кодирования Unicode в ASCII. Префикс xn-- говорит, что это закодированное имя, и поскольку все имя в этом случае является одним кодовым кодом Unicode, остальное просто выглядит непонятным. Вы можете начать читать больше об этом here.

  2. Большинство доменов верхнего уровня (если не все) имеют правила, по которым символы Unicode разрешают имена в этом TLD. Например, .SE позволяет использовать только те символы, которые используются на одном из официальных языков Швеции. Это полностью политическая вещь, поэтому «почему» становится нечеткой.

  3. См 2.

+0

В точках 2/3 также верно, что браузеры не будут корректно отображать их, чтобы смягчить [нападения с помощью гомографа] (https://en.wikipedia.org/ вики/IDN_homograph_attack) –

Смежные вопросы