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

joh*_*odo 46 html parameters url get

这个链接有效吗?

<a href="?lang=en">eng</a>
Run Code Online (Sandbox Code Playgroud)

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

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

所以,回顾一下:

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

  2. 在RFC中是这样的吗?

  3. 我可以期待使用它有些麻烦吗?

更新:关于点击的预期操作是重定向到同一页面,但具有不同的GET参数(上例中为"lang = en").

Kob*_*obi 39

是的.
您可以在RFC 1808 - 相对统一资源定位器中找到它:

在具有明确定义的
Base Base Base的对象中:<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
Run Code Online (Sandbox Code Playgroud)

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