This proposal isn't so different from things like wanting
to 'vary' on just part of the User Agent string (this is
Netscape specific, but I don't care about whether it's
Netscape for Windows or for Unix) or, say, whether "image/png"
appears in the Accept headers, but ignoring any other
difference in Accept.
The problem is that the granularity of 'Vary' is to name
the header, but sometimes the variation only depends on
a little bit of information in a single header and not
the whole thing.
I don't think we can invent a general solution to the problem
in HTTP/1.1, because of the varying [sic] nature of the
syntax of the various [sic] headers. User-Agent is parsed
one way, Cookie is parsed another, and Accept is parsed yet
another.
The consolation is that even though you have to pay a
round-trip for it, you won't have to send the content again,
because the cache can send the entity tags of the variants
it has, and have those validated; since you need the round
trip anyway to update the rest of the state, perhaps there
isn't a performance impact after all.
Larry
--
http://www.parc.xerox.com/masinter