HTTP Vary and Cache Keys: Reuse Rules, Vary: *, and Cache Fragmentation
Vary adds request headers to the cache key. Per RFC 9110 and 9111: when header values match, why Vary: * forces revalidation every time, and how content negotiation splits a cache.
httpcachevarycontent-negotiation