所有这些组合都符合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
标准吗?
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
根据规范(正如我阅读的那样),它们是允许的。
这就是Request-Line的构造方式(就像您的示例中的那样):
5.1 请求行
Request-Line 以方法标记开始,接着是 Request-URI 和协议版本,并以 CRLF 结束。元素由 SP 字符分隔。除了最后的 CRLF 序列外,不允许使用 CR 或 LF。
Request-Line = Method SP Request-URI SP HTTP-Version CRLF
这
Request-URI
是一个统一资源标识符(第3.2节)并标识应用请求的资源。
正如我所看到的,规范对可以使用哪种 URI 以及它们是否受某些方法的使用限制没有任何限制。