Cloudflare Ships Vary Support in Cache Rules on Every Plan
Vary support is now live in Cloudflare's Cache Rules on every plan, splitting the decision in two: the origin declares what may vary, and the rule decides how much variation actually matters.
Vary is the ugliest header in HTTP, and Cloudflare just made it someone else’s problem — partly. Support is live in Cache Rules on every plan. The origin still names the request headers that may affect a response; the rule decides what Cloudflare does with each one. Editor’s note: the announcement itself calls Vary a ‘horrible, kludgy mechanism’.
Three levers: normalize rewrites negotiation headers so equivalent requests share a cached response, pass values through only where small differences matter, bypass stores nothing when variation is unpredictable. Ten values on one field make ten variants; ten across three fields make 1,000. An English, French, and German origin has three representations while the cache sees thousands of strings.
The origin declares what may vary, and a human decides how much variation is meaningful. My take: normalize by default, pass values through only where the value changes the response, bypass per-visitor headers like User-Agent and Cookie. A cache that is perfectly correct and permanently cold is still a bill. Audit the Vary headers your origin returns this week.