我正在以这种格式调用网络服务:
http://some.server/rest/resource;a=b
它有效,但这有效吗?我看过; 用作 & 的替代品,但从未见过这样的网址。我一直在寻找答案,但没有找到有效的答案。如果有效,这种网址的含义是什么?
我正在以这种格式调用网络服务:
http://some.server/rest/resource;a=b
它有效,但这有效吗?我看过; 用作 & 的替代品,但从未见过这样的网址。我一直在寻找答案,但没有找到有效的答案。如果有效,这种网址的含义是什么?
这是路径参数的一部分,而不是查询参数的一部分。您可以在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 节中仍然有它。
这可能会回答您的问题:分号作为 URL 查询分隔符
我们建议 HTTP 服务器实现者,特别是 CGI 实现者支持使用“;” 代替“&”来省去作者以这种方式转义“&”字符的麻烦。