【问题标题】:Is sending query string while using any HTTP method compliant with HTTP protocol?是否在使用任何符合 HTTP 协议的 HTTP 方法时发送查询字符串?
【发布时间】:2012-07-11 13:36:47
【问题描述】:

所有这些组合都符合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

【问题讨论】:

  • 您是否尝试在规范中查找它?
  • 是的,我没有发现任何限制它

标签: http query-string standards http-method


【解决方案1】:

根据the specification(我读到的),他们是被允许的。

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

5.1 请求行

Request-Line 以方法标记开头,然后是 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 的使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 2020-11-20
    • 2020-12-28
    • 2012-10-07
    相关资源
    最近更新 更多