V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Vneix
V2EX  ›  问与答

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

  •  
  •   Vneix · 6 天前 · 685 次点击

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

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

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

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

    第 1 条附言  ·  6 天前
    tim4.0"和后面的文字之间没有空格,上面帖子里的空格是 V2 排版自动加的。

    Firefox 是 play 市场的最新版,传统红狐狸图标的那个版本。
    14 条回复    2024-11-17 10:47:19 +08:00
    billlee
        1
    billlee  
       6 天前   ❤️ 1
    无法复现
    Vneix
        2
    Vneix  
    OP
       6 天前
    @billlee 清除浏览器数据重进 Firefox 后依然复现,目前是最新版的 Firefox132.0.2 。"tim4.0"和后面的文字之间没有空格,上面帖子里的空格是 V2 排版自动加的。
    jeesk
        3
    jeesk  
       6 天前 via Android   ❤️ 1
    无法复现
    LuvF
        4
    LuvF  
       6 天前 via Android   ❤️ 1
    最新 beta 版也有这个问题
    fengshuo211
        5
    fengshuo211  
       6 天前   ❤️ 1
    删掉空格确实有这个问题, 楼主可以去 https://bugzilla.mozilla.org/enter_bug.cgi?product=Fenix&component=Search 报一个 bug
    loveqianool
        6
    loveqianool  
       6 天前 via Android   ❤️ 1
    没有空格看起来就像是一个链接呀
    dic
        7
    dic  
       6 天前   ❤️ 1
    无法复现
    opengps
        8
    opengps  
       6 天前   ❤️ 2
    可能你用的版本对于带点号的判断逻辑不够准确,因为浏览器会用点号来识别是不是域名
    SenLief
        9
    SenLief  
       6 天前   ❤️ 1
    它把 4.0 识别一个网址了
    ltux
        10
    ltux  
       6 天前   ❤️ 1
    这不是 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
        11
    Vneix  
    OP
       6 天前 via Android
    @LuvF 看来是老问题了。

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

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

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

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

    @SenLief +1

    @ltux 谢谢科普,晚点试试 PC 端有没有这个问题,hhhh 。
    SenLief
        12
    SenLief  
       5 天前
    @Vneix 他这个很奇怪,我用 home.lan 它就不识别,就是搜索。
    ltux
        13
    ltux  
       5 天前 via Android
    域名任何部分同时包含 ascii 和非 ascii 字符,是符合国际化域名规范的。虽然现实中不常见,但浏览器应该按标准行事。
    flynaj
        14
    flynaj  
       4 天前 via Android
    确实是这样的 你搜 tim4 下载 就行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3729 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:32 · PVG 18:32 · LAX 02:32 · JFK 05:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.