To signal to the recipient that content negotiation has been used to determine the best available representation for a given request, the server must include a Vary header. This tells the recipient which request headers have been used to determine the representation that is used. So an answer may be generated like this:
$r->header_out('Vary', join ", ", qw(accept accept-language accept-encoding user-agent));
The header of a very cool page may greet the user with something like this:
Hallo Harri, Dein NutScrape versteht zwar PNG aber leider kein GZIP.
However, this header has the side effect of being expensive for a caching proxy. As of this writing, Squid (Version 2.3.STABLE4) does not cache resources that come with a Vary header at all. So without a clever workaround, the Squid accelerator is of no use for these documents.