好吧,出于好奇,接受查询字符串中参数的HTTP方法是什么?他们都是?哪些HTTP方法中的参数必须通过cURL POSTFIELDS发送?
所有请求方法(GET
、HEAD
、POST
、OPTIONS
、PUT
、TRACE
、DELETE
、BREW
(都可以具有GET风格的?x=y
请求参数。这对其他一些人来说是非常罕见的(CONNECT
(。
原因是HTTP处理";资源";,而且它实际上并不关心URL参数。从/
路径分隔符开始,它只是一个资源名称。其中是否有任何?
问号,或者接收Web服务器是否使用@
代替它都无关紧要,因为具体实现。
HTTP客户端显然知道URL方案以及如何拆分它们,但这对协议本身来说并不是什么大问题。我认为规范(RFC1616(除了URL方案描述之外几乎没有提及。HTTPbis可能更为复杂。
如果您有一个带有其他方法的POST风格的请求体,那么它实际上不太依赖于HTTP谓词,而是依赖于Content-Type:
和Content-Length:
请求头的存在。