I know that HEAD is not a common verb but since Web API is such an excellent implementation of HTTP spec, I would really love to see this working nicely. With rising adoption of REST/HTTP style APIs, it is very likely for more advanced clients to try HEAD
I think the problem lies in the fact that HEAD is a special verb in HTTP while its implementation in Web API is not: it has been implemented similar to the rest of the verbs.
In fact, HttpHeadAttribute does not make much sense (neither an action called "Head") since HEAD is nothing but a content-less GET:
"The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. The metainformation contained in the HTTP headers in response to a HEAD request SHOULD be identical to the information sent in response
to a GET request."
So HEAD is actually a special case GET. As such I would expect it to handled by the GET action, only the content is not sent back - no Head action or HttpHeadAttribute.
Is there any plan to implement this as such? I am more than happy to make a Pull Request but I would like to know the view of the team first.