URL中是否必须首先使用斜杠?

时间:2016-05-19 11:18:36

标签: url curl rfc rfc1738

今天我们与同事争论这是否是一个有效的网址http://domain.com?some_param=1。定义URL结构的RFC没有明确声明这是无效的结构。根据{{​​3}},第3.3部分

If neither <path> nor <searchpart> is present, the "/" may also be omitted.

然而,在同一文件的第3.1部分结尾处它说

Note that the "/" between the host (or port) and the url-path is  NOT part of the url-path.

卷曲检查发现了一些有趣的事情

$ curl -v -I http://stackoverflow.com?test
* Rebuilt URL to: http://stackoverflow.com/?test
...

所以,问题是

这是否是有效的网址? http://domain.com?some_param=1

1 个答案:

答案 0 :(得分:0)

第3.3节推迟到hostport的第3.1节,但其余部分则在该部分中定义。因此,如果portpath中的任何一个出现,则需要searchpart之后的斜杠。

尽管如此,工具可能会尝试提取有效的URL,即使省略了这个斜杠,因为各种意识形态的一个原则是输入上的自由主义和输出上的保守主义。