我如何知道HTTP响应是对HEAD请求的响应?

比方说,我看到一个HTTP响应头。

我如何知道它是否是对HEAD请求的响应?

RFC 2616指出,如果200 OK是响应的状态,则只有当它不是对HEAD请求的响应时才应包含消息体。 所以我需要知道这是否是对HEAD的回应。

我必须保持一个状态,并记住它是否是对HEAD的响应,还是只能从响应字段中知道?

谢谢。

为了让你看到不同的回应,你可以使用telnet:

 > telnet myserver 80 > GET / HTTP/1.0 > telnet myserver 80 > HEAD / HTTP/1.0 

…但是,如半径评论,你似乎回答了你自己的问题; 如果你得到的代码是200,没有正文,假设它是对HEAD请求的响应。

正如RFC 2616所说,HTTP 1.1是无状态的,因此您可以在不保持状态的情况下完成这项工作(即使它可能更简单)。 我不明白为什么你需要知道是否有一个机构,你可以只读数据,看看有没有数据头后面的数据。