我想知道浏览器和/或DNS如何处理用户在域名中输入无效字符。
假设我拥有一家着名的高级餐厅连锁店 meat&amp; potato 。我们所有的市场营销都将我们称为肉类和土豆(肉类+&符号+土豆,没有空格),而且很可能人们正常打字 www.meat&amp; potato.com < / strong>进入他们的浏览器。
浏览器和/或其ISP的DNS如何处理此请求?有什么方法可以让用户访问正确的域而不需要他们进行额外的点击/击键吗?
修改:在我的有限测试中,我发现Chrome会将角色转换为网址编码版本(例如%26为&amp;),然后在某处发送请求导致我的ISP(RCN)给了我一个搜索结果页面(因为RCN是那样的邪恶):www17.searchresults.rcn.com/ ...所以,有些东西正在到达ISP。
答案 0 :(得分:0)
主机名有限(RFC1034第3.5节)到字母(a-z),数字(0-9)和连字符( - )。 此外,最近的浏览器允许使用惩罚编码(RFC3492)来使用国际字符 - 这基本上适用于127以上的字符值。
我不知道浏览器如何处理这个问题,但我希望他们遵循这两套规则,并为最终用户提供其他任何错误/重定向。
因此它永远不会像DNS / ISP那样。
不幸的是,这意味着目前无法制作“&amp;”在域名工作......