9

我正在以这种格式调用网络服务:

http://some.server/rest/resource;a=b

它有效,但这有效吗?我看过; 用作 & 的替代品,但从未见过这样的网址。我一直在寻找答案,但没有找到有效的答案。如果有效,这种网址的含义是什么?

4

3 回答 3

15

这是路径参数的一部分,而不是查询参数的一部分。您可以在http://www.skorks.com/2010/05/what-every-developer-should-know-about-urls/找到有关如何构建 URL 的详细信息

编辑:实际上我之前一直在寻找这个链接,它可以更好地解释它并向您展示一些奇怪但有效的案例:https ://www.talisman.org/~erlkonig/misc/lunatech%5Ewhat-every-webdev-must-know -about-url-encoding/(最初在现在死掉的 url http://blog.lunatech.com/2009/02/03/what-every-web-developer-must-know-about-url-encoding

但无论如何,这是有效的:http://www.blah.com/some/crazy/path.html;param1=foo;param2=bar

于 2013-09-16T14:19:31.197 回答
1

指定路径参数的 RFC2396 已过时。较新的版本是 RFC 3986——这个在正式指定查询字符串之前没有路径参数,但在示例中的第 5.4.1 节中仍然有它。

于 2018-02-08T12:59:29.787 回答
0

这可能会回答您的问题:分号作为 URL 查询分隔符

我们建议 HTTP 服务器实现者,特别是 CGI 实现者支持使用“;” 代替“&”来省去作者以这种方式转义“&”字符的麻烦。

于 2013-09-16T14:16:49.100 回答