空 href 的规范/实现行为?

发布于 2024-10-10 08:20:53 字数 456 浏览 2 评论 0原文

几年前,我曾经读过一篇关于单击带有空 href 的链接时各种浏览器的不同行为实现的页面。

  • 其中一些链接到目录 (/path/to/file?query/path/to/)
  • 其中一些链接到完全相同的 URI (/path/to/file?query/path/to/file?query)
  • 其中一些链接到同一页面 (/path/to/file?query< /code> → /path/to/file)

...以及各种其他行为。

  • 行为是否在规范中定义?
  • 如果是这样,正确的行为是什么?
  • 如果是这样,五大浏览器的最新版本今天修复了它们的实现吗?

I once read a page a few years ago about the various browsers' differing implementations of behaviour when a link with an empty href is clicked.

  • some of them linked to the directory (/path/to/file?query/path/to/)
  • some of them linked to the exact same URI (/path/to/file?query/path/to/file?query)
  • some of them linked to the same page (/path/to/file?query/path/to/file)

...and various other behaviours.

  • Is the behaviour defined in a specification?
  • If so, what is the correct behaviour?
  • If so, have the latest versions of the big five browsers today fixed their implementations?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

○愚か者の日 2024-10-17 08:20:53

由于 HREF 的内容没有“规范”(至少在 中) HTML 4),浏览器可以做任何他们想做的事。

更新 但是,除了 HTML 之外,还有一个 RFC3986:统一资源标识符 ( URI):通用语法。它有 4.4 节。同一文档参考 内容如下:

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

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

相关说明,这是最近 3/2010) 浏览器如何处理 标记的空 src 属性的综述:http://www.nczonline.net/blog/2010 /03/16/empty-string-urls-in-html-a-followup/http://www.nczonline.net/blog/2010/07/13/empty-string-urls-browser-update/ 。请注意,这是一件大事,因为在最坏的情况下,拥有空的 img src 会导致页面不断地重新加载自身。

Since there's no "specification" for contents of HREF (at least in HTML 4), the browsers can do whatever they damn well please.

UPDATE However, aside from HTML, there's an RFC3986: Uniform Resource Identifier (URI): Generic Syntax. It has section 4.4. Same-Document Reference which says:

When a URI reference refers to a URI that is, aside from its fragment
component (if any), identical to the base URI (Section 5.1), that
reference is called a "same-document" reference. The most frequent
examples of same-document references are relative references that are empty ...

I do not necessarily read the above as "an empty URI MUST cause the client to reload the same socument's URI", but it does sound like a "best practice" type of wording; so if I was implementing my own browser I'd almost certainly follow such a behavior.

On a related note, here's a good recent 3/2010) roundup of how browsers treat empty src attribute of <img> tag: http://www.nczonline.net/blog/2010/03/16/empty-string-urls-in-html-a-followup/ and http://www.nczonline.net/blog/2010/07/13/empty-string-urls-browser-update/ . Please note that it is a big deal, since having and empty img src would cause the page to endlessly re-load itself in the worst case scenario.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文