gpt4 book ai didi

javascript - 网址 API : Handling of white spaces in URLs

转载 作者:行者123 更新时间:2023-11-30 14:28:11 25 4
gpt4 key购买 nike

测试 URL 时API,我注意到不同浏览器在处理带有空格的 URL 时存在差异:

console.log(new URL('https://a b').host)

在 Firefox 中,它会抛出一个错误:

TypeError: https://a b is not a valid URL.

但在其他浏览器上,它将接受 URL 并打印 a%20b。例如,Brave、Opera 和 Chrome。

实现似乎同意路径名中的空格是有效的,并且它们会自动引用它们:

console.log(new URL('https://a/b c').pathname)

在我测试的所有实现上打印 /b%20c

问题:

  • 主机名和路径名中的空格是否有效?
  • 相同的逻辑是否也适用于其他类似空格的字符(例如制表符)?
  • 这只是 Firefox 中的一个错误,还是有更多的浏览器会以不同方式解释空格?

更新:Chromium 70.0.3521.2 开始拒绝它,而 Chrome 69.0.3497.42 仍然接受它。

最佳答案

根据 RFC 952 , "不允许空格或空格字符作为名称的一部分。"(指的是“网络、主机、网关或域名”)。我相信有关此的特定规则是最新的(截至 2018 年),因此看起来 Firefox 正在执行此操作,而其他浏览器则更为宽松。

另见:https://stackoverflow.com/a/3523068

关于javascript - 网址 API : Handling of white spaces in URLs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51618191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com