在使用任何符合HTTP协议的HTTP方法时发送查询字符串?

时间:2012-07-11 13:36:47

标签: http query-string standards http-method

所有这些组合是否符合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 个答案:

答案 0 :(得分:4)

根据the specification(正如我所读),他们是允许的。

这就是构造Request-Line的方式(就像你的例子中那样):

  

5.1请求行

     

请求行以方法标记开头,后跟   Request-URI和协议版本,以CRLF结尾。该   元素由SP字符分隔。除了以外,不允许使用CR或LF   在最终的CRLF序列中。

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

然后about Request-URI

  

Request-URI是统一资源标识符(3.2部分)和   标识应用请求的资源。

正如我所看到的,规范对可以使用哪种URI以及它们是否受到使用某些Methods的限制没有限制。