https://datdai.vn/image/id/....
👉 Tìm các header sau:
cf-cache-status: HIT
Ý nghĩa:
HIT → ✅ ĐÃ cache ở CloudflareMISS → ❌ chưa cacheEXPIRED → cache có nhưng đã hết hạnBYPASS → bị rule/page rule bỏ qua cacheDYNAMIC → Cloudflare không cache loại request nàyTrên server / local / WSL / Mac / Linux:
curl -I "https://datdai.vn/image/id/aHR0cHM6Ly9pbWFnZXMucGV4ZWxzLmNv-bS9waG90b3MvMjc2MjkzMzgvcGV4ZWxz-LXBob3RvLTI3NjI5MzM4LmpwZWc/445e9614f7d905e3b1941e358d2b1c9d.jpeg?t=1767593265"
Kết quả mong muốn:
HTTP/2 200 cf-cache-status: HIT age: 12345 cache-control: public, max-age=31536000
cf-cache-status: HIT → đã cacheage: → số giây object đã nằm trong cachecache-control: public → OK cho CDN cache⚠️ Nếu thấy:
cf-cache-status: DYNAMIC
→ Cloudflare không cache request này
MISScf-cache-status: HITRất hay gặp với dạng URL của bạn:
/image/id/...Cloudflare mặc định không cache nếu:
cache-control: no-cache cache-control: private
👉 Kiểm tra response từ PHP:
header("Cache-Control: public, max-age=31536000, immutable");
Bạn cần Cache Rule (không phải Page Rule cũ):
Ví dụ:
IF URL matches: datdai.vn/image/* THEN: Cache eligibility: Cache everything Edge TTL: 1 year
Nếu response có:
set-cookie:
→ Cloudflare BYPASS cache
👉 Ảnh thumb TUYỆT ĐỐI không set cookie
| Điều kiện | Cần |
|---|---|
| cf-cache-status = HIT | ✅ |
| cache-control: public | ✅ |
| Không set-cookie | ✅ |
| Edge TTL > 1 ngày | ✅ |
| Cache Rule match | ✅ |