链接/ HREF参数(以问号开始)是有效的?
这个链接是否有效?
<a href="?lang=en">eng</a>
我知道浏览器将其视为预期,我知道空的链接也可以 – 但是可以指定参数吗?
我很好奇,因为问号(“?”)只是大多数HTTP服务器(AFAIK)的约定,尽pipe我承认这是一个普遍的问题。
所以,回顾一下:
-
所有的浏览器都能正确解释这个吗?
-
这是在RFC?
-
我可以使用这个问题吗?
更新:点击的预期行动是redirect到同一页面,但具有不同的GET参数(在上面的例子中“lang = en”)。
是的。
你可以在RFC 1808中find它- 相对统一资源定位符 :
在具有明确定义的基本URL的对象中
Base:<URL:http://a/b/c/d;p?q#f>
相对URL将被parsing如下:5.1。 正常的例子
?y
=<URL:http://a/b/c/d;p?y>
RFC 3986 – 统一资源标识符(URI):通用语法重述相同,并添加更多细节,包括语法:
relative-ref = relative-part [ "?" query ] [ "#" fragment ] relative-part = "//" authority path-abempty / path-absolute / path-noscheme / path-empty #; zero characters
现在,并不是说所有的浏览器都按照标准来实现它,但是看起来这应该是安全的。
是的 – 它会通过parameter passing当前url。
如果你想确保你不会跨越当前的页面/表单边界并且继续使用相同的ActionMethod
或者使用不同的参数进行监听,那么使用它非常方便。