Browser 空href的规范/实现行为?

Browser 空href的规范/实现行为?,browser,hyperlink,Browser,Hyperlink,几年前,我曾经读过一个页面,内容是当点击一个带有空href的链接时,不同浏览器的不同行为实现 其中一些链接到目录(/path/to/file?query→ /path/to/) 其中一些链接到完全相同的URI(/path/to/file?query→ /path/to/file?查询) 其中一些链接到同一页(/path/to/file?query→ /path/to/file) …以及各种其他行为 行为是否在规范中定义 如果是,正确的行为是什么 如果是这样的话,现在五大浏览器的最新版本是否

几年前,我曾经读过一个页面,内容是当点击一个带有空href的链接时,不同浏览器的不同行为实现

  • 其中一些链接到目录(
    /path/to/file?query
    → <代码>/path/to/)
  • 其中一些链接到完全相同的URI(
    /path/to/file?query
    → <代码>/path/to/file?查询)
  • 其中一些链接到同一页(
    /path/to/file?query
    → <代码>/path/to/file)
…以及各种其他行为

  • 行为是否在规范中定义

  • 如果是,正确的行为是什么
  • 如果是这样的话,现在五大浏览器的最新版本是否修复了它们的实现
由于HREF(至少在中)的内容没有“规范”,浏览器可以随心所欲

更新但是,除了HTML之外,还有一个。它有一节说:

当一个URI引用引用一个URI时,除了它的片段之外 组件(如果有),与基本URI(第5.1节)相同,
引用称为“同一文档”引用。最频繁的
相同文档引用的示例为空的相对引用

我不一定把上面的理解为“一个空URI必须导致客户端重新加载同一个socument的URI”,但它听起来确实像是一种“最佳实践”类型的措辞;因此,如果我实现自己的浏览器,我几乎肯定会遵循这样的行为


另一方面,下面是最近(2010年3月)关于浏览器如何处理
然后指定语法的空
src
属性的一个很好的综述()。12.2.4“不可用和不可识别资源”中的行为表示“如果用户代理找不到链接的资源,它应该提醒用户”。所以我认为有一个规范。它在细节上有点单薄,但似乎确实存在。@s.Lott-W3 HTML规范链接到RFC1630(令人困惑的是,其他地方链接到2396,我认为它已经被取代)。最新的URI RCF实际上是2005 RFC 3986,在更新中链接到我的答案。“什么是正确的行为?”这很有趣。什么是正确的并不重要。唯一重要的是浏览器的真正功能。“今天五大浏览器的最新版本修复了它们的实现”?你知道,你可以下载并亲自试用。是什么阻止了你进行实验?首先,测试Internet Explorer并不容易,因为我所有的盒子都运行Ubuntu服务器,而且ies4linux/Wine不是一个高度可靠的环境。至于其他四个,我可以测试它们,现在我会;谢谢。如果你只是在测试IE,那就去eBay或Craigslist看看吧。买一台带有Windows的超便宜二手电脑,并将其用于IE测试。看起来150美元能让你得到一台工作的电脑。