国际化域名编码

有趣的国际化域名编码(punycode)

www.аррӏе.com

把上方的地址复制到firefox浏览器试试看,它是苹果的官网吗?(使用chrome或者edge会报安全警告的)

这虽然看起来和apple.com一样,但实际上却并不是ASCII字符。如果你复制其中的一个字符,到这里 看看它在字符集中的位置,你会发现这是一个Unicode字符,只是渲染出来的结果和apple非常相似。这就很有意思了,原来网址还能用Unicode啊。

我们知道,DNS是只能解析ASCII字符编码的,所以它是怎么解析Unicode字符呢?这就是国际化域名编码的作用了,他会把Unicode字符编码成ASCII字符(就是punycode),然后进行DNS查询,详情见这里

你可以在这里将你的Unicode编码的网址转换为ASCII字符网址。它是一个以xn--开头的一串字符,如果你注册一个对应的域名就可以将一串Unicode网址解析到你的网站了。

遗憾的是,由于这样很容易做成钓鱼网址,所以从某个版本后的chrome就不支持在网址处显示Unicode字符了,Edge也是。只有Firefox还默认显示(可能是Firefox没人用吧。。。),你可以在about:config中查找show_punycode,将其改为true,就会显示punycode而不是对应的Unicode字符了。

当然,知道这个就可以发挥创造力了,比如在网址里放一个emoj什么的,例如😀.😚.com,让人摸不着头脑。。。

posted on 2020-07-23 22:15  acgq  阅读(372)  评论(0)    收藏  举报

导航