我可以用HTTP头请求发布表单数据吗?

我可以用HTTP头请求发布表单数据吗?,http,http-headers,forms,Http,Http Headers,Forms,我可以使用GET请求提交HTML表单数据。如果HEAD请求在功能上与GET相同(不包括响应中的内容),那么我应该能够提交带有HEAD的HTML表单数据吗 HTTP请求的第一行可能如下所示: HEAD /processdata.php?first=john&last=doe&email=john@doe.com HTTP/1.1 说: (除了我想知道我是否可以提交HTML表单数据外,几乎是重复的。) 基于规格的响应得到赞赏。TIA。是的,HEAD请求可以采用参数。然而,RFC26

我可以使用GET请求提交HTML表单数据。如果HEAD请求在功能上与GET相同(不包括响应中的内容),那么我应该能够提交带有HEAD的HTML表单数据吗

HTTP请求的第一行可能如下所示:

HEAD /processdata.php?first=john&last=doe&email=john@doe.com HTTP/1.1
说:

(除了我想知道我是否可以提交HTML表单数据外,几乎是重复的。)


基于规格的响应得到赞赏。TIA。

是的,HEAD请求可以采用参数。然而,RFC2616还说HEAD或GET请求应该是幂等的,也就是说,对于这种请求允许的副作用有非常严格的限制


GET或HEAD请求应仅用于检索数据,而不用于在服务器上存储内容。

是的,HEAD请求可以获取参数。然而,RFC2616还说HEAD或GET请求应该是幂等的,也就是说,对于这种请求允许的副作用有非常严格的限制


GET或HEAD请求应仅用于检索数据,而不用于在服务器上存储内容。

我想您可以,但HttpRequest实现不会帮助您解析请求主体。一些代理可能会阻止这样一个“可疑”的小贩


换句话说,这是可能的,但不符合标准。

我想您可以,但HttpRequest实现不会帮助您解析请求体。一些代理可能会阻止这样一个“可疑”的小贩


换句话说,这是可能的,但不符合标准。

头部与GET相同,只是响应不承载有效载荷


因此,是的,您可以使用GET发送任何您想要发送的内容。

头与GET相同,只是响应没有携带有效负载


所以,是的,您可以发送使用GET发送的任何内容。

您的问题与请求解析器的HTML、HTTP或服务器实现有关吗

如果你说的是HTML,答案是“否”。HTML只支持GET或POST。如果您尝试创建一个类似

<form method="HEAD" action="http://ard.de">

Firefox忽略
方法
属性,并将请求作为GET发送

如果您谈论的是HTTP,答案是“是”。您可以像GET-HTML-FORM那样使用查询字符串发送请求
http://ard.de?param1=value¶m2=value

它没有指定,但据我所知,HTTP规范也不禁止在请求体中发送参数(就像POST-HTML-FORM通常所做的那样)。讨论了这个问题


如果您谈论的是服务器端解析器,则必须提及它。J2EE 6 servlet堆栈实现始终解析查询字符串,但它只解析POST请求的正文(甚至不解析PUT请求)。

您的问题与请求解析器的HTML、HTTP或服务器实现有关吗

如果你说的是HTML,答案是“否”。HTML只支持GET或POST。如果您尝试创建一个类似

<form method="HEAD" action="http://ard.de">

Firefox忽略
方法
属性,并将请求作为GET发送

如果您谈论的是HTTP,答案是“是”。您可以像GET-HTML-FORM那样使用查询字符串发送请求
http://ard.de?param1=value¶m2=value

它没有指定,但据我所知,HTTP规范也不禁止在请求体中发送参数(就像POST-HTML-FORM通常所做的那样)。讨论了这个问题


如果您谈论的是服务器端解析器,则必须提及它。J2EE 6 servlet堆栈实现总是解析查询字符串,但它只解析POST请求的正文(甚至不解析PUT请求)。

你确定你说的是真的吗?“GET…不应用于检索服务器上的数据。”无论如何,我认为您的回答与HTML规范相矛盾,包括HTML5,它特别允许表单提交的GET和POST。请参阅。您可以将GET用于不修改服务器的表单,例如搜索表单。始终使用带有副作用的表单(例如,添加/删除/编辑内容,导致发送电子邮件等)的POST。换句话说,如果表单被意外提交多次是不合适的,请始终使用POST。你确定你说的是真的吗?“GET…不应用于检索服务器上的数据。”无论如何,我认为您的回答与HTML规范相矛盾,包括HTML5,它特别允许表单提交的GET和POST。请参阅。您可以将GET用于不修改服务器的表单,例如搜索表单。始终使用带有副作用的表单(例如,添加/删除/编辑内容,导致发送电子邮件等)的POST。换句话说,如果表单被意外提交多次,请始终使用POST。“您是指请求正文中的参数吗?”否。我是指资源位置中作为查询字符串的参数。请参阅我在问题中给出的示例请求行。这就是GET会做的。我看你已经编辑了你的回复。但这仍然没有意义。它是一个头;没有主体,所以主体当然不会被解析。“你是指请求主体中的参数吗?”不是。我是指资源位置中作为查询字符串的参数。请参阅我在问题中给出的示例请求行。这就是GET会做的。我看你已经编辑了你的回复。但这仍然没有意义。它是一个头;没有主体,因此主体当然不会被解析。我们希望表单数据(在查询字符串中)用于从服务器检索数据(尽管数据不会包含在响应中,因为它是头),但不会保存服务器上的数据。对吗?再说一遍,它和GET一样,除了响应体。如果GET保存了一些东西——当然是坏的B