HTML表单方法=“HEAD”

时间:2009-08-09 21:08:48

标签: html webforms

我以前从未见过这个,我一直都知道有GET或POST。而且我找不到任何好的文件。

GET通过URL发送变量。 POST通过文件正文发送它?

HEAD做什么?

它不经常使用,我是否正确?

W3schools.com甚至没有提及它。

5 个答案:

答案 0 :(得分:7)

HEAD方法用于发送请求并仅检索HTTP标头作为响应。例如,客户端应用程序可以发出HEAD请求以检查文件的大小(来自HTTP标头)而无需下载。正如Arjan指出的那样,它在HTML表单中甚至都没有效。

答案 1 :(得分:7)

答案 2 :(得分:1)

HTTP方法HEAD发送响应的标头但没有正文;它通常很有用,正如我给出的URL所解释的那样,尽管几乎没有“形式”的HTML标签。

答案 3 :(得分:0)

我唯一可以想象的是,服务器实际上可能已经设置为验证请求方法,以发现机器人提交的内容,即HEAD可能实际上使用的方法与浏览器不同。 (因此拒绝这些提交。)

对HEAD请求的响应并不意味着向用户显示任何内容:即使对HEAD的响应也可以很好地重定向到另一个页面。但是,like Gumbo noted:它对HTML表单中的method无效,因此需要在每个可能的浏览器中进行大量测试......

我想知道表格中的HEAD是否以某种方式用于避免意外多次提交。但我认为唯一有用的响应是301重定向,但也可以与GET或POST一起使用,所以我看不出HEAD如何解决任何问题。

Mac上Safari和Firefox的当前版本中的快速测试显示实际上调用了GET。当然,假设这是无证件行为,不应该依赖于此。也许有一段时间,垃圾邮件机器人实际上被骗了使用HEAD(然后在服务器上被拒绝),或者如果他们只支持GET和POST,可能会被愚弄跳过这个表单。但即使是最愚蠢的机器人程序员(他们都不是因为不理解他们的工作而愚蠢是邪恶的吗?)很快就会知道浏览器将其转换为GET。

(你有一个使用它的网站的例子吗?你确定没有改变这个的JavaScript,或做其他的事情吗?任何人都可以测试Internet Explorer发送的内容吗?)

答案 4 :(得分:0)

HEAD方法

HEAD方法在功能上类似于GET,不同之处在于服务器使用响应行和标头进行回复,但没有实体正文。以下是一个简单的示例,该示例利用HEAD方法获取有关hello.htm的标头信息:

HEAD /hello.htm HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.tutorialspoint.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

以下将是服务器对以上GET请求的响应:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Vary: Authorization,Accept
Accept-Ranges: bytes
Content-Length: 88
Content-Type: text/html
Connection: Closed

您会注意到这里的服务器在标头之后不发送任何数据。

-从tutorialspoint.com获得