2012-07-11 70 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