仅包含参数(以问号开头)的 link / href 有效吗?

发布于 2024-12-12 02:54:32 字数 476 浏览 0 评论 0原文

该链接有效吗?

<a href="?lang=en">eng</a>

我知道浏览器会按预期对待它,并且我知道空链接也可以 - 但是只指定参数可以吗?

我很好奇,因为问号(“?”)只是大多数 HTTP 服务器(AFAIK)的一种约定,尽管我承认这是一种普遍的约定。

那么,回顾一下:

  1. 所有浏览器都会正确解释这一点吗?

  2. 这是在 RFC 中吗?

  3. 我在使用这个时会遇到一些麻烦吗?

更新:点击时的预期操作是重定向到同一页面,但使用不同的 GET 参数(上例中的“lang=en”)。

Is this link valid?

<a href="?lang=en">eng</a>

I know the browsers treat it as expected and I know the empty link would be ok too - but is it ok to specify just the parameters?

I am curious because question mark ("?") is only a convention by most HTTP servers (AFAIK), though I admit it is a prevailing one.

So, to recap:

  1. will all browsers interpret this correctly?

  2. is this in RFC?

  3. can I expect some trouble using this?

UPDATE: the intended action on click is to redirect to the same page, but with different GET parameters ("lang=en" in above example).

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

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

发布评论

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

评论(2

冷情妓 2024-12-19 02:54:32

是的,确实如此。
您可以在 RFC 1808 - 相对统一资源定位符中找到它:

在具有明确定义的基本 URL 的对象内
基址:
相对 URL 将按如下方式解析:

5.1。正常示例

?y =

RFC 3986 - 统一资源标识符 (URI):通用语法 重申了相同内容,并添加了更多详细信息,包括语法:

relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

relative-part = "//" authority path-abempty
             / path-absolute
             / path-noscheme
             / path-empty     #; zero characters

现在,并不是说所有浏览器都按照标准实现它,但看起来这应该是安全的。

Yes, it is.
You can find it in RFC 1808 - Relative Uniform Resource Locators:

Within an object with a well-defined base URL of
Base: <URL:http://a/b/c/d;p?q#f>
the relative URLs would be resolved as follows:

5.1. Normal Examples

?y = <URL:http://a/b/c/d;p?y>

RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax restates the same, and adds more details, including the grammar:

relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

relative-part = "//" authority path-abempty
             / path-absolute
             / path-noscheme
             / path-empty     #; zero characters

Now, that is not to say all browsers implement it according to the standard, but it looks like this should be safe.

始终不够爱げ你 2024-12-19 02:54:32

是的 - 它会使用您传递的参数访问当前 url。

当您想要确保不跨越当前页面/表单边界并继续点击相同的 ActionMethod 或使用不同参数侦听的任何内容时,使用它非常方便。

Yes - and it will hit the current url with parameters what you are passing.

It is very convenient to use in situations where you want to make sure you do not cross current page/form boundary and keep on hitting same ActionMethod or whatever is listening with different parameters.

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