Dengan mengonfigurasi aturan waktu kedaluwarsa cache, Anda dapat mengontrol secara tepat berapa lama resource di-cache pada POP (points of presence) untuk menyeimbangkan pembaruan konten, kinerja akses, dan biaya pengambilan dari origin. Dokumen ini menjelaskan cara kerja aturan cache, cara mengonfigurasi dan memverifikasinya, serta menyediakan langkah troubleshooting dan praktik terbaik.
Cara kerja
Saat permintaan mencapai POP, sistem menggunakan alur keputusan berikut untuk menentukan apakah akan menyajikan salinan yang di-cache atau mengambil konten terbaru dari origin server.
Jangan cache resource: Saat origin server merespons dengan
pragma:no-cache,cache-control:no-cache(atauno-store, ataumax-age=0), POP mengikuti kebijakan origin dan tidak melakukan caching terhadap resource tersebut.Mengikuti aturan cache konsol: Jika Anda telah mengonfigurasi aturan untuk direktori atau ekstensi file tertentu di konsol, dan origin server tidak mengirim header "jangan cache" yang disebutkan di atas, aturan cache konsol memiliki prioritas lebih tinggi.
Logika prioritas saat beberapa aturan cache konsol sesuai:
Skenario
Logika
Contoh
Bobot berbeda
Aturan dengan nilai Weight lebih tinggi (1–99) memiliki prioritas lebih tinggi.
Jika Aturan A (untuk direktori
/image/, Weight 50) dan Aturan B (untuk ekstensi.jpg, Weight 90) sama-sama sesuai denganimage/a.jpg, maka Aturan B yang diterapkan.Bobot sama
Aturan yang dibuat lebih dulu memiliki prioritas lebih tinggi.
Jika Anda mengonfigurasi aturan direktori (
/static/) dan aturan ekstensi file (.js) dengan Weight yang sama yaitu 60, dan aturan direktori dibuat sebelum aturan ekstensi, maka/static/app.jsakan sesuai dengan aturan direktori.Begitu permintaan sesuai dengan suatu aturan cache, aturan lain tidak lagi diperiksa.
Secara default, jika origin server merespons dengan
Pragma: no-cacheatauCache-Control: no-cache/no-store/max-age=0, POP tidak melakukan caching terhadap resource tersebut. Untuk memaksa caching, pilih Ignore Origin No-cache Header saat mengonfigurasi aturan cache di konsol.
CDN mengikuti kebijakan cache origin server: Jika permintaan tidak sesuai dengan aturan konsol apa pun, atau jika aturan yang sesuai memiliki opsi Honor Origin TTL diaktifkan, CDN menghormati header respons HTTP dari origin server. Prioritas header tersebut, dari tertinggi ke terendah:
cache-control>expires>last-modified>ETag.Header respons
Cara penanganan
Contoh
Cache-Control
Direktif
s-maxagediprioritaskan untuk durasi cache, diikuti olehmax-age.s-maxage=86400, max-age=3600Expires
Menentukan tanggal dan waktu kedaluwarsa. Ini hanya digunakan jika header
Cache-Controltidak ada.Expires: Wed, 21 Oct 2025 07:28:00 GMTLast-Modified
Last-Modifiedadalah timestamp yang menunjukkan kapan resource terakhir dimodifikasi.
Durasi cache dihitung sebagai berikut:
(Waktu Saat Ini -Last-Modified) * 0,1, dengan durasi hasil dibatasi dalam rentang 10 hingga 3.600 detik.Last-Modified: Wed, 21 Oct 2023 07:28:00 GMTETag
ETagadalah pengenal unik yang dihasilkan server untuk versi spesifik suatu resource, biasanya berupa nilai hash atau nomor versi.
Secara default, resource denganETagdi-cache selama 10 detik.ETag: "abc123"Kebijakan no-cache: Jika permintaan tidak sesuai dengan aturan cache konsol apa pun dan origin server tidak mengembalikan header respons terkait cache (seperti
Cache-Control), POP tidak melakukan caching terhadap resource tersebut.
Kebijakan cache hanya diterapkan pada respons dengan kode status 200, 203, 206, 300, 301, 308, atau 410 dari origin server. Untuk melakukan caching terhadap respons dengan kode status lain (misalnya 404), konfigurasikan pengaturan ini pada halaman Status Code TTL di halaman Cache Settings.
Prosedur
Melalui konsol (disarankan)
Di konsol CDN, buka halaman Domain Names dan klik Manage pada baris domain target Anda.
Pada halaman , klik Add untuk mengonfigurasi aturan cache baru.
Tambahkan waktu kedaluwarsa cache | Parameter | Deskripsi |
| Type | Tentukan cakupan aturan berdasarkan Directory atau File Extension. |
Object | Masukkan konten berdasarkan tipe yang dipilih: | |
Expire In | Durasi resource di-cache pada POP CDN. Maksimum 3 tahun. | |
Honor Origin TTL | Jika diaktifkan, kebijakan cache origin server memiliki prioritas dan menggantikan aturan ini. | |
Ignore Origin No-Cache Header | Jika diaktifkan, CDN mengabaikan header | |
Follow POP Cache Policy | Jika diaktifkan, CDN mengirim kebijakan cache efektifnya (misalnya, | |
Force Revalidation | Pengaturan ini hanya berlaku ketika Waktu Kedaluwarsa diatur ke 0 detik.
| |
Weight | Prioritas aturan. Nilainya berkisar antara 1 hingga 99. Nilai lebih tinggi berarti prioritas lebih tinggi. | |
Rule Condition | Anda dapat mempersempit cakupan aturan berdasarkan parameter permintaan (misalnya, Header, parameter URL). |
Menggunakan API
Panggil operasi BatchSetCdnDomainConfig untuk mengonfigurasi domain secara batch.
Terapkan perubahan aturan secara langsung
Aturan baru atau yang dimodifikasi hanya berlaku untuk resource yang baru di-cache. Resource yang sudah di-cache sebelum perubahan akan tetap menggunakan kebijakan cache lama hingga masa berlakunya habis.
Untuk menerapkan aturan baru ke seluruh jaringan secara langsung, Anda harus membersihkan cache yang ada secara manual. Jika Anda mengubah aturan, refresh konten yang di-cache dengan menggunakan fitur Purge resource. Jika Anda menambahkan aturan baru, isi cache terlebih dahulu dengan menggunakan fitur Prefetch resource.
Verifikasi konfigurasi
Setelah konfigurasi, Anda dapat menggunakan perintah curl atau alat developer browser untuk memeriksa header respons HTTP suatu resource guna memverifikasi bahwa caching berjalan sesuai harapan.
1. Jalankan perintah verifikasi
Jalankan perintah berikut di terminal Anda untuk menguji konfigurasi.
curl -I "https://your.domain.com/path/to/file.jpg"2. Interpretasi header respons utama
Header respons | Nilai umum dan interpretasi |
| Menunjukkan apakah permintaan merupakan cache hit. |
| Jika Client follows CDN cache policy diaktifkan, header ini menampilkan direktif cache yang dikirim ke browser, seperti |
| Total durasi cache yang dikonfigurasi untuk resource pada POP CDN, dalam detik. |
Praktik terbaik
Gunakan nama file berbasis versi (disarankan): Saat memperbarui resource statis seperti
style.css, gunakan nama file baru dengan versi atau nilai hash, sepertistyle-v2.cssataustyle-a1b2c3d.css, dan perbarui referensinya di HTML Anda. Metode ini tidak memerlukan refresh cache manual dan memastikan pengguna langsung mendapatkan konten terbaru. Ini adalah cara yang direkomendasikan untuk mengelola pembaruan cache.Pisahkan aset dinamis dan statis: Gunakan domain atau path direktori berbeda untuk resource dinamis dan statis. Konfigurasikan aturan cache terpisah dengan bobot tinggi untuk masing-masing tipe resource guna menghindari konflik kebijakan. Misalnya, atur durasi cache panjang untuk semua resource di bawah direktori
/static/dan atur no-cache untuk resource di bawah direktori/api/.Manfaatkan cache browser: Aktifkan Follow POP Cache Policy untuk mengurangi permintaan berulang ke POP, yang meningkatkan kecepatan pemuatan dan menghemat traffic.
Hindari mengatur durasi cache terlalu singkat: Durasi cache yang terlalu singkat menyebabkan permintaan ke origin menjadi sering, sehingga menghilangkan manfaat akselerasi dan meningkatkan traffic serta biaya server origin Anda.
Hindari mengatur durasi cache terlalu lama: Durasi cache yang terlalu lama dapat mencegah klien menerima pembaruan data secara tepat waktu. Untuk konten yang perlu sering diperbarui, gunakan fitur refresh cache atau nama file berbasis versi.
Mekanisme kontrol cache HTTP
Protokol HTTP mendefinisikan tiga jenis header untuk mengimplementasikan kontrol cache.
