Cloudflare ra mắt Cache Response Rules: Tối ưu hóa bộ nhớ đệm mà không cần can thiệp server gốc
Cloudflare vừa giới thiệu Cache Response Rules, tính năng mới cho phép can thiệp và điều chỉnh các header phản hồi từ server gốc trước khi nội dung được lưu vào cache, giúp giải quyết các vấn đề về...
Cloudflare vừa chính thức giới thiệu Cache Response Rules, một loại quy tắc mới được thiết kế để xử lý các phản hồi từ server gốc (origin server) ngay trước khi dữ liệu được lưu vào bộ nhớ đệm (cache) của Cloudflare.
Table Of Content
Trước đây, nếu bạn gặp tình trạng các tệp tin tĩnh không thể cache do bị vướng các header như Set-Cookie hoặc cấu hình Cache-Control không hợp lý từ server gốc, việc thay đổi cấu hình này thường rất phức tạp và tốn thời gian. Cache Response Rules ra đời để giải quyết triệt để vấn đề này ngay tại biên (edge) mà không yêu cầu bất kỳ thay đổi nào từ phía hạ tầng gốc.
Tại sao cần Cache Response Rules?
Thông thường, các quyết định về cache được thực hiện dựa trên yêu cầu (request-time). Tuy nhiên, nhiều vấn đề về cache chỉ xuất hiện sau khi server gốc đã phản hồi. Ví dụ, một file /static/app.js đáng lẽ phải được cache nhưng lại chứa header Set-Cookie, khiến nó trở nên không thể cache được. Nếu không có công cụ can thiệp, bạn buộc phải sửa code server, dùng Worker để xử lý lại phản hồi, hoặc chấp nhận tỉ lệ cache thấp (cache hit ratio thấp) gây lãng phí băng thông.
Cache Response Rules cho phép bạn:
- Loại bỏ các header gây lỗi: Xóa bỏ
Set-Cookie,ETag, hoặcLast-Modifiedkhông mong muốn từ phản hồi của server gốc. - Quản lý Cache Tags: Thêm, xóa hoặc thiết lập các tag để quản lý việc xóa cache (purge) linh hoạt hơn.
- Điều chỉnh Cache-Control: Ghi đè các chỉ thị
Cache-Control, bao gồm cả việc thiết lậpcloudflare_only: trueđể chỉ áp dụng thời gian cache cho Cloudflare mà không ảnh hưởng đến trình duyệt người dùng.
Sự khác biệt giữa Cache Rules và Cache Response Rules
Cloudflare phân chia rõ ràng hai giai đoạn xử lý:
- Cache Rules (Giai đoạn Request): Chạy trước khi Cloudflare gửi yêu cầu đến server gốc. Nó trả lời câu hỏi: “Có nên cache phản hồi này không và sử dụng cache key nào?”
- Cache Response Rules (Giai đoạn Response): Chạy sau khi server gốc đã phản hồi nhưng trước khi lưu vào cache. Nó trả lời câu hỏi: “Sau khi nhận phản hồi từ server gốc, chúng ta có cần điều chỉnh cách thức lưu trữ không?”
Khi có sự xung đột giữa hai loại quy tắc này, Cache Response Rules sẽ được ưu tiên thực thi.
Các ứng dụng thực tế
Tính năng này đặc biệt hữu ích trong các tình huống:
- Loại bỏ Set-Cookie trên tệp tĩnh: Giúp các tệp tin như CSS, JS trở nên cacheable ngay cả khi server gốc vô tình đính kèm cookie phiên làm việc.
- Tách biệt thời gian cache: Lưu trữ tệp tin trên Cloudflare trong thời gian dài (ví dụ 1 tháng) nhưng chỉ yêu cầu trình duyệt revalidate sau 1 ngày.
- Ghi đè cấu hình sai: Loại bỏ các header
no-cachekhông cần thiết từ các framework web mà không cần can thiệp vào mã nguồn ứng dụng.
Việc triển khai Cache Response Rules giúp các nhóm quản trị hạ tầng và phát triển web linh hoạt hơn trong việc tối ưu hóa hiệu năng, giảm tải cho server gốc và cải thiện trải nghiệm người dùng cuối mà không cần trải qua các quy trình thay đổi cấu hình server phức tạp.
Nguồn tham khảo: Cloudflare Blog
No Comment! Be the first one.