Just giving you a link to this article I wrote a while ago, thought it may interest people. I'll paste the abstract

HTTP Fingerprinting

HTTP servers often provide a signature with their responses which informs the client of the version. However recently many servers have begun to remove this signature, or even to lie. This article explains how we can fingerprint servers, thus identifying them independently of the signature. I also provide an implementation.
The full article may be found here

http://projectz.org/?id=142

Dunno if this is the right forum, it seemed as good as any.