Bài viết này do AI tạo ra, có thể mắc sai sót.
Cloudflare đã đưa hỗ trợ HTTP Vary vào Cache Rules cho mọi gói. Đây là thay đổi nhỏ ở bề mặt nhưng đáng chú ý với đội vận hành CDN: cùng một URL có thể trả nhiều biến thể đúng theo ngôn ngữ, định dạng ảnh hoặc nén, trong khi cache vẫn cần tránh nổ số lượng cache key.
Vary.Accept-Language hay Accept-Encoding khác cú pháp nhưng cùng ý nghĩa có thể dùng chung cache entry sau khi chuẩn hoá.Cookie hoặc User-Agent có cardinality cao, bypass thường an toàn hơn để tránh cache nhầm hoặc làm cache lạnh.HTTP Vary báo cho cache biết URL chưa đủ để chọn response: một hay nhiều request header cũng có thể quyết định nội dung. Ví dụ, origin trả HTML cho Accept: text/html và JSON cho Accept: application/json. Nếu cache bỏ qua Vary: Accept, client đến sau có thể nhận sai kiểu dữ liệu.
Nhưng so khớp nguyên văn mọi header cũng gây hại. Hai chuỗi Accept-Language khác thứ tự, khoảng trắng hoặc quality value có thể đều dẫn tới bản tiếng Anh, nhưng cache vẫn coi là hai biến thể. Khi điều này xảy ra trên nhiều header, hit ratio giảm, cache bị chia nhỏ và origin gánh thêm request.
Cloudflare khuyến nghị bắt đầu với normalize. Cơ chế này có quy tắc riêng cho Accept, Accept-Language và Accept-Encoding, giúp những yêu cầu tương đương dùng lại cùng biến thể cache. Giá trị đã chuẩn hoá cũng được chuyển tới origin, giữ logic chọn response của origin khớp với logic cache key.
passthrough dùng byte thô của header khi chọn biến thể. Nó phù hợp khi origin thật sự phân biệt từng giá trị trong một tập nhỏ, được kiểm soát. Đổi lại, khác biệt về viết hoa, khoảng trắng, thứ tự hoặc dòng header lặp có thể tạo entry riêng, nên không nên dùng mặc định với header từ trình duyệt.
bypass không lưu response khi origin trả Vary có header đó. Đây là lựa chọn thực tế cho dữ liệu cá nhân hoá hoặc cardinality không giới hạn như cookie và user agent. Vary: * luôn bypass vì response có thể phụ thuộc bất kỳ đặc điểm nào của request, kể cả thông tin ngoài HTTP message.
Vary, đặc biệt endpoint đa ngôn ngữ, API trả nhiều format và image optimization.normalize trước cho header đàm phán khi origin chỉ có ít representation thực tế.passthrough khi đã biết tập giá trị nhỏ và mỗi khác biệt thật sự đổi response.bypass cho header chứa dữ liệu theo người dùng; kiểm tra hit ratio và origin load sau khi triển khai.Điểm quan trọng không phải Cloudflare “hỗ trợ Vary”, mà là tách quyền khai báo của ứng dụng khỏi chính sách cache của đội hạ tầng. Origin nói header nào có thể ảnh hưởng; Cache Rule nói mức độ khác biệt nào đáng để tách cache. Cách tách này giảm việc phải nhúng logic cache vào application, Worker hoặc custom cache key.
Với website có nhiều locale, thiết bị và định dạng media, chuẩn hoá đúng có thể giảm số biến thể vô ích, giữ object nóng lâu hơn và giảm lưu lượng về origin. Ngược lại, normalize sai trên header mà application thực sự dùng để tạo nội dung khác nhau có thể gây trả nhầm response. Vì vậy rollout cần bắt đầu từ endpoint đã hiểu rõ negotiation, có quan sát cache hit/miss và phương án rollback rule.
Cloudflare Blog, “We just shipped support for the ugliest part of HTTP: Vary”, 22/09/2026. Tài liệu HTTP semantics RFC 9110.