2012-07-11 65 views
0

所有這些組合是否符合HTTP標準?在使用HTTP協議的任何HTTP方法時發送查詢字符串?

GET /entities/?param=value HTTP/1.1 
POST /entities/?param=value HTTP/1.1 
PUT /entities/?param=value HTTP/1.1 
DELETE /entities/?param=value HTTP/1.1 
HEAD /entities/?param=value HTTP/1.1 
PATCH /entities/?param=value HTTP/1.1 
+1

你有沒有試過在規格中查找它? – kapa 2012-07-11 13:56:52

+1

是的,我沒有發現任何限制它 – 2012-07-11 14:53:23

回答

4

根據the specification(正如我所讀到的),它們是允許的。

這是怎麼Request-Line被構造(如那些在您的示例):

5.1請求行

Request-Line中開始的方法的令牌,隨後 Request-URI和協議版本,並以CRLF結尾。 元素由SP字符分隔。在最後的CRLF序列中,除了 之外,不允許使用CR或LF。

Request-Line = Method SP Request-URI SP HTTP-Version CRLF 

然後about Request-URI

Request-URI是統一資源標識符(部分3.2)和 標識在其上應用請求該資源。

正如我所看到的,規範沒有限制可以使用哪種類型的URI,以及它們是否受限於使用某些Methods