Vary tells the cache which headers change the response
A response that differs by Accept-Language or by a custom header will be served to the wrong user by any cache that does not know that.
Vary: Accept-Encoding, Accept-LanguageNever Vary: Cookie on a cached response. It makes the cache useless. If a response depends on the cookie it should be no-store or private.
httpcaching