Firefox for Android 的域名栏识别问题算 BUG 吗?

37 天前
 Vneix

安卓上的 Firefox 浏览器只有一个搜索栏,可以输入域名,也可以输入要搜索的关键字。

但是,如果输入“tim4.0 下载地址”这样的内容进行搜索,浏览器就会识别为

https://tim4.0 下载地址/

用了这么多年浏览器第一次遇到这种问题,感觉不应该是 Firefox 这样的老牌浏览器应该有的,很费解啊...

992 次点击
所在节点    问与答
14 条回复
billlee
37 天前
无法复现
Vneix
37 天前
@billlee 清除浏览器数据重进 Firefox 后依然复现,目前是最新版的 Firefox132.0.2 。"tim4.0"和后面的文字之间没有空格,上面帖子里的空格是 V2 排版自动加的。
jeesk
37 天前
无法复现
LuvF
37 天前
最新 beta 版也有这个问题
fengshuo211
37 天前
删掉空格确实有这个问题, 楼主可以去 https://bugzilla.mozilla.org/enter_bug.cgi?product=Fenix&component=Search 报一个 bug
loveqianool
37 天前
没有空格看起来就像是一个链接呀
dic
37 天前
无法复现
opengps
37 天前
可能你用的版本对于带点号的判断逻辑不够准确,因为浏览器会用点号来识别是不是域名
SenLief
37 天前
它把 4.0 识别一个网址了
ltux
37 天前
这不是 bug ,这是 feature 。
浏览器可以使用包含非 ascii 字符的域名,即 国际化域名,在使用该域名进行检查前,会先用 punycode 编码将之编码为 ascii 字符,之后去域名系统中查询。

中文域名举例:
http://上海交通大学.网址
http://亚马逊.公司

楼主可直接在浏览器输入打开上述两个网址,均会打开正确的网站。
上述中文域名经 punycode 转换后,分别为
http://xn--fhq9n72yzjcw49adq1c.xn--ses554g
http://xn--jlq480n2rg.xn--55qx5d

因转换后的 punycode 网址难以记忆,访问上述 punycode 编码后的域名实际上最终会返回一个 301 Moved Permanently 响应,跳转到相应的容易记忆的网址。

综上,在浏览器地址栏输入无空格的 "tim4.0 下载地址",会被浏览器识别为 国际化域名,并尝试用 punycode 转换后打开。

参考:
https://en.wikipedia.org/wiki/Internationalized_domain_name
https://en.wikipedia.org/wiki/Punycode
Vneix
37 天前
@LuvF 看来是老问题了。

@fengshuo211 晚点试试电脑端有没有这个问题:D
.
@loveqianool 目前还没见过一个域名后缀同时有两种语言,所以感觉它这个判断逻辑是有点问题...

Firefox 把“.0(此处无空格)下载地址”识别为域名后缀了。

同样的情况,搜索(以下皆无空格,空格是 v2 为了排版自动添加)
“圆周率是 3.14 对吗”
“一个苹果的重量是 0.15kg 吗”

Firefox for Android 会认为“.14 对吗”“.15kg 吗”是域名的后缀,感觉非常离谱。

@SenLief +1

@ltux 谢谢科普,晚点试试 PC 端有没有这个问题,hhhh 。
SenLief
36 天前
@Vneix 他这个很奇怪,我用 home.lan 它就不识别,就是搜索。
ltux
36 天前
域名任何部分同时包含 ascii 和非 ascii 字符,是符合国际化域名规范的。虽然现实中不常见,但浏览器应该按标准行事。
flynaj
35 天前
确实是这样的 你搜 tim4 下载 就行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1089699

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX