If-None-Match give you the benefit of not having to send unmodified content repeatedly (HTTP 304). IE6 handles this well.
gzip gives you the benefit of compressing the content that you send. IE6 handles this well as well.
If-None-Match should give you the combined benefit of sending compressed content when you must and not sending content at all if it's not modified. Well, as you might have already guessed, IE6 does not handle this well. If your content is gzipped and you send an
ETag header as well, IE6 does not send an
If-None-Match on subsequent requests. Which of course means that you can't leverage HTTP 304.
So if you are servicing IE6 clients beware that it supports either compression or
ETags but not both.
Thankfully, this has been fixed in IE7. Firefox of course just works.