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