How can a "webserver" know (or a sniffer between the srv<->and the client) that what browser i'm using besides the user-agent?
What exactly do you mean by 'what browser I'm using' - like being able to find if you are using firefox or opera, or do you mean something else?
In any case three projects come to mind
On mitigation measures: The last technique can be defeated by using a proxy, which can potentially alter the values of many http fields and so alter the fingerprinting results.
NoScript is of great help for the other techniques, and disabling all unnecessary functionality or only enabling it on whitelisted sites.
You can test your browser against EFF's Panopticlick. The site has quite a lot of information on browser identification.
Hiding what web browser u are using can be really hard as there is usually many ways of discovering what browser you use besides using the user-agent.
For example you can guess what kind of browser you are using by checking in which sequence the HTTP headers values are presented in the header.
This question is very similar to some other questions here:
To try answer how you can hide anyone from knowing what browser you are using I would atleast do the following to throw them off: