Masalah
Sebuah asset terasa lambat atau origin menerima request lebih banyak dari perkiraan. Sebelum mengubah cache rules, periksa keputusan cache yang benar-benar terjadi pada response.
Baca CF-Cache-Status untuk mengetahui apakah resource berasal dari cache, origin, atau tidak memenuhi syarat cache.
Menggunakan response header untuk diagnosis cache tanpa langsung membuat Cache Rule baru.
PersiapanHostname proxied melalui Cloudflare dan URL yang boleh Anda uji. Hasil cache dapat berbeda antar data center dan waktu.
Sebuah asset terasa lambat atau origin menerima request lebih banyak dari perkiraan. Sebelum mengubah cache rules, periksa keputusan cache yang benar-benar terjadi pada response.
Minta header dan cari CF-Cache-Status. Header Age biasanya muncul ketika response dilayani dari cache pada status tertentu seperti HIT.
curl -sSI https://example.com/style.css | grep -iE '^(cf-cache-status|age|cache-control|set-cookie):'HIT berarti resource ditemukan di cache Cloudflare. MISS berarti response dianggap eligible untuk cache, tetapi object belum ada di cache saat request tersebut sehingga Cloudflare mengambilnya dari origin.
DYNAMIC berarti Cloudflare menentukan request tidak eligible untuk cache sebelum melakukan lookup cache. HTML atau JSON sering memerlukan aturan atau kebijakan khusus bila memang ingin dicache.
BYPASS berarti request awalnya eligible, tetapi response atau konfigurasi membuat Cloudflare tidak menyimpannya. Contoh penyebab dapat mencakup directive no-store/private, Set-Cookie pada kondisi tertentu, atau aturan bypass.
Lakukan beberapa request terpisah untuk memahami pola, tetapi jangan melakukan loop agresif. Cache bersifat terdistribusi sehingga hasil dapat berbeda antara lokasi edge.
for i in 1 2 3; do curl -sSI https://example.com/style.css | grep -i '^cf-cache-status:'; sleep 2; doneCocokkan CF-Cache-Status dengan Cache-Control, Set-Cookie, tipe content, dan Cache Rules. Jika resource sensitif seperti login atau account page, prioritasnya adalah correctness dan privacy, bukan memaksa HIT.
Cache-Control, Set-Cookie, status code, extension/content-type, dan Cache Rules dapat memengaruhi keputusan cache. Saat BYPASS atau DYNAMIC muncul, periksa alasan eligibility sebelum membuat rule baru. Jangan menghapus header privacy hanya demi mengejar HIT.
CF-Cache-Status menjelaskan keputusan cache Cloudflare, bukan apakah browser mengambil object dari local cache. Saat menguji perubahan cache, gunakan request terminal baru dan pahami bahwa browser dapat menyembunyikan request karena cache lokal.
Jangan purge seluruh zone hanya karena satu object MISS. Jangan memaksa cache halaman authenticated atau personal tanpa desain cache key dan privacy yang benar. Jangan membandingkan satu request dari dua lokasi seolah cache Cloudflare adalah satu storage global.
Catat URL, CF-Cache-Status, Age, Cache-Control, Set-Cookie, status code, Cache Rule yang match, dan lokasi pengujian bila diketahui. Setelah perubahan, ulangi beberapa request dengan interval wajar dan pastikan correctness sebelum mengejar cache ratio.
Jangan menyimpulkan cache rusak hanya karena melihat MISS sekali. Interpretasikan status bersama eligibility, response header origin, dan aturan yang berlaku.