【发布时间】:2013-09-20 17:33:07
【问题描述】:
我正在以这种格式调用网络服务:
http://some.server/rest/resource;a=b
它有效,但这有效吗?我看过;用作 & 的替代品,但从未见过这样的网址。我一直在寻找答案,但没有找到有效的答案。如果有效,这种url是什么意思?
【问题讨论】:
我正在以这种格式调用网络服务:
http://some.server/rest/resource;a=b
它有效,但这有效吗?我看过;用作 & 的替代品,但从未见过这样的网址。我一直在寻找答案,但没有找到有效的答案。如果有效,这种url是什么意思?
【问题讨论】:
这是 path 参数的一部分,而不是 query 参数的一部分。您可以在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
【讨论】:
指定路径参数的 RFC2396 已过时。较新的版本是 RFC 3986——这个在正式指定查询字符串之前没有路径参数,但在示例中的第 5.4.1 节中仍然有它。
【讨论】:
这可能会回答您的问题:Semicolon as URL query separator
我们建议 HTTP 服务器实现者,特别是 CGI 实现者支持使用“;”代替“&”来省去作者以这种方式转义“&”字符的麻烦。
【讨论】: