2013-09-16 167 views
3

我這種格式調用Web服務:網址:分號,而不是問號

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

它的工作原理,但這個有效嗎?我見過;用作&的替代品,但從未見過這樣的網址。我一直在尋找答案,但沒有找到一個有效的答案。如果有效這種URL的含義是什麼?

+0

請參閱http://stackoverflow.com/questions/2048121/url-matrix-parameters-vs-request-parameters – 2013-09-16 14:28:54

回答

9

這是路徑參數的一部分,而不是查詢參數的一部分。你可以找到如何網址,可以在http://www.skorks.com/2010/05/what-every-developer-should-know-about-urls/

編輯內置的詳細信息:我實際上是尋找早期這個鏈接,甚至更好的解釋了它,說明你有些奇怪,但有效的情況下: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

+0

您的第二個鏈接已經死亡:( – drs

0

這可能會回答你的問題:Semicolon as URL query separator

我們建議HTTP服務器實現者,特別是,CGI實現者支持使用「;」代替「&」,以節省作者以這種方式逃避「&」字符的麻煩。

+1

在我的示例中,分號不是用來代替「&」,而是用「?」 –

+1

@aCa:你的鏈接仍然是關於查詢部分的,而他的例子實際上是關於路徑參數的。 –

0

RFC2396是過時的。更新的版本是RFC 3986 - 這個在正式指定查詢字符串之前沒有路徑參數,但在5.4.1節的例子中仍然有它。

+0

雖然此鏈接可能有助於您對問題的回答,但您可以通過將鏈接的重要部分放入您的答案中來改善此答案,這可確保您的答案仍然是答案該鏈接被更改或刪除:) – WhatsThePoint

+0

鏈接被刪除。 RFC號碼應該足夠了。 –