是。换句话说,任何HTTP请求消息都允许包含消息正文,因此必须在解析消息时牢记这一点。但是,GET的服务器语义受到限制,以使主体(如果有的话)对请求不具有语义。解析要求与方法语义要求分开。
因此,是的,您可以使用GET发送正文,否,这样做永远没有用。
这是HTTP / 1.1分层设计的一部分,一旦对规范进行了分区(工作正在进行中),它??将再次变得清晰。
....罗伊
是的,您可以发送带有GET的请求正文,但它没有任何意义。如果您通过在服务器上对其进行解析并根据其内容更改响应来赋予它含义,那么您将忽略HTTP / 1.1规范 第4.3节中的建议:
…如果请求方法不包括用于一个实体主体定义的语义,则该消息体应该被处理请求时忽略。
以及HTTP / 1.1规范第9.3节 中 GET方法的描述:
GET方法意味着检索Request-URI标识的任何信息([…])。
声明请求主体不是GET请求中资源标识的一部分,仅是请求URI。
RFC2616被称为“ HTTP / 1.1规范”,现在已过时。在2014年,它被RFC7230-7237取代。引用“处理请求时应忽略消息正文”已被删除。现在只是“请求消息框架独立于方法语义,即使该方法未定义消息主体的任何用法”第二个引号“ GET方法意味着检索任何信息……由Request-URI标识”已被删除。-来自评论