2013-03-31 2 views
1

Я только что нашел этот URL-адрес для AngelList - http: //✌.com/. В нем есть странный символ, и он перенаправляется на https://angel.co/. Кто-нибудь знает, как это работает? Я не думал, что вы можете использовать такие символы в URL-адресах.Специальные символы в URL-адресах

ответ

2

номера ASCII символы (UTF-8) преобразуются в Punycode (см ниже), так что HTTP: //✌.com/ преобразуется (кодируется) в http://xn--7bi.com/ , Владелец этого перенаправления домена (статус ответа 301 Перемещен постоянно), поэтому вы приземляетесь до https://angel.co/.

Punycode является синтаксисом кодирования, с помощью которого Unicode (UTF-8) строка символов может быть переведена в основные ASCII-символы разрешено в именах хостов сети. Punycode используется для интернационализированных доменов именами, короткими IDN или IDNA (Интернационализация доменных имен в приложениях ).

Например, когда нужно ввести café.com в вашем браузере, ваш браузер (который является IDNA-приложение) сначала конвертирует строку Punycode «xn--caf-dma.com», потому что character 'é' не является , разрешенным для обычных доменных имен. Домены Punycode не будут работать более старыми браузерами.

(source of quotation and Punycode encoder/decoder)

Это преобразование описано в RFC 3490.

+0

Вау - спасибо за информацию. Каждый символ переводится в другой домен. Таким образом, это полностью зависит от того, кто бы ни жил в домене. Интересно. – Andrew

0

Это необычно, но не невозможно. URL-адрес браузера или клиента (также называемый процентной кодировкой) URL-адреса перед его отправкой, так что специальные символы передаются должным образом.

Вы можете прочитать больше о URL здесь: http://tools.ietf.org/html/rfc3986

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