仅包含参数(以问号开头)的 link / href 有效吗?
该链接有效吗?
<a href="?lang=en">eng</a>
我知道浏览器会按预期对待它,并且我知道空链接也可以 - 但是只指定参数可以吗?
我很好奇,因为问号(“?”)只是大多数 HTTP 服务器(AFAIK)的一种约定,尽管我承认这是一种普遍的约定。
那么,回顾一下:
所有浏览器都会正确解释这一点吗?
这是在 RFC 中吗?
我在使用这个时会遇到一些麻烦吗?
更新:点击时的预期操作是重定向到同一页面,但使用不同的 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:
will all browsers interpret this correctly?
is this in RFC?
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,确实如此。
您可以在 RFC 1808 - 相对统一资源定位符中找到它:
RFC 3986 - 统一资源标识符 (URI):通用语法 重申了相同内容,并添加了更多详细信息,包括语法:
现在,并不是说所有浏览器都按照标准实现它,但看起来这应该是安全的。
Yes, it is.
You can find it in RFC 1808 - Relative Uniform Resource Locators:
RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax restates the same, and adds more details, including the grammar:
Now, that is not to say all browsers implement it according to the standard, but it looks like this should be safe.
是的 - 它会使用您传递的参数访问当前 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.