只有参数(以问号开头)的link / href是否有效



链接是否有效?

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

我知道浏览器按预期处理它,我知道空链接也可以-但是只指定参数是可以的吗?

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

总结一下:

  1. 所有浏览器都能正确解释这个吗?

  2. 这是在RFC吗?

  3. 使用这个会有麻烦吗?

UPDATE:点击时的预期动作是重定向到相同的页面,但使用不同的GET参数(在上面的示例中为"lang=en")。

是的。
你可以在RFC 1808 -相对统一资源定位符:

中找到它。

在具有定义良好的基URL
的对象内碱基:<URL:http://a/b/c/d;p?q#f>
相对url将被解析如下:

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
现在,这并不是说所有的浏览器都按照标准实现它,但看起来应该是安全的。

是的,它会使用你传递的参数来访问当前url。

在您想要确保不跨越当前页面/表单边界并继续击中相同的ActionMethod或任何正在使用不同参数的情况下使用非常方便。

最新更新