Что такое Punycode?
- Категория: SEO
- – Автор: Игорь (Администратор)
В рамках данной заметки, я расскажу вам что такое punycode, а так же некоторые особенности. И начну с определения.
Что такое Punycode и зачем он нужен?
Punycode (паникод, пьюникод, пуникод) - это стандартизированный метод преобразования последовательностей Unicode-символов в так называемые ACE-последовательности (от ASCII Compatible Encoding - кодировка, совместимая с ASCII), которые состоят только из алфавитно-цифровых символов, как это разрешено в доменных именах по исходному стандарту.
Как выглядит пуникод? Например, для сайта с названием "супер-пупер-сайт-каких-только-нет.рфф" (это IDN представление, иными словами с Unicode), пуникод представляет собой последовательность "xn--------5veb9abg4ajobcp0bocecauerj3aghcf1ftm.xn--p1aia". Выглядит не очень привлекательно, но далее вы поймете почему.
Зачем нужен punycode? Раньше, когда только появлялся интернет, название сайтов подразумевало только латиницу, цифры и дефис. Точка же нужна была для разделения доменов разного уровня (поддоменов). И никто особо сильно не беспокоился о том, что сайты с названиями в других языках так же могут быть привлекательными для пользователей.
Примечание: Кстати, так же советую ознакомиться с обзором Устройство DNS сервера, для чуть большего понимания, о чем идет речь.
Однако, со временем, интернет стал настолько популярен, что у многих появилась мысль, а как бы сделать так, чтобы доменные имена сайтов могли бы быть, например, с русским языком. Ведь, чисто логически, какому-нибудь начинающему пользователю, далекому от информационных технологий, существенно проще ввести нечто вроде "крутой-сайт", чем тот же вариант в латинице "krutoy-sait".
И тут возникла проблема. Дело в том, что большинство существующих DNS серверов рассчитаны только на латиницу, цифры и дефис. Остальные же символы никак не поддерживаются. Тогда и появился punycode, задачей которого стало переводить удобные юникод-имена в обычные комбинации, привычные для DNS серверов.
Как это происходит в браузере? Чтобы у пользователей не возникало проблем, так как пуникод выглядит страшнее, чем обычная латиница, браузеры стали отображать такие сайты в адресной строке так, как пользователь ввел, а задачу преобразования и определения адреса сайта решать самостоятельно.
При этом, чисто технически, определение IP адреса (что это и зачем нужно?) никак не изменилось. Браузер преобразует название, а дальше, как и в старые добрые времена, определяется IP адрес через DNS-сервера.
Плюсы и минусы Punycode?
Плюсы на поверхности - удобство для пользователей и, соответственно, привлечение большей аудитории.
Минус же основной в том, что многие программы банально не рассчитаны на юникод домены, поэтому приходится использовать еще более непонятные цифробуквенные комбинации (посмотрите еще раз пример как выглядит пуникод), из которых практически нереально узнать о каком сайте идет речь.
Так же существуют проблемные места в плане электронной почты (до символа @ нельзя использовать юникод). И еще один, отчасти существенный минус, при копировании ссылки из адресной строки браузера, копируется пуникод, а не его юникод версия. Опять же из-за необходимости поддержки совместимости.
Поэтому если собираетесь использовать юникод домены, то учитывайте, что это может вызывать определенные технические сложности при повседневном использовании и сео продвижении (те же безанкорные ссылки могут выглядеть достаточно неприятно). Кстати, как вариант, некоторые делают следующим образом: создают домен с латиницей и домен с кириллицей, а затем делают редирект из второго сайта в первый. В таком случае, и пользователь может использовать юникод-домены (например, вводить в браузере), и технически меньше сложностей, так как после редиректа пользователь использует сайт с латиницей. Хотя, конечно, стоит признать, что это далеко не всегда полезный подход. Например, если у сайта основной трафик из поисковых систем, то толку от двух доменов будет немного.
Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!
☕ Понравился обзор? Поделитесь с друзьями!