Dengan mengonfigurasi aturan kedaluwarsa cache, Anda dapat mengontrol durasi caching resource di titik kehadiran (POP) CDN guna menyeimbangkan kesegaran konten, kinerja akses, dan biaya pengambilan asal. Dokumen ini menjelaskan cara mengonfigurasi dan memvalidasi aturan cache, memberikan panduan troubleshooting, serta merinci praktik terbaik.
Cara kerja
Ketika permintaan mencapai titik kehadiran (POP) CDN, sistem menggunakan proses berprioritas berikut untuk menentukan apakah akan menyajikan salinan dari cache atau mengambil konten terbaru dari origin server.
CDN tidak melakukan cache resource jika origin server merespons dengan
pragma:no-cache,cache-control:no-cache(atauno-store, ataumax-age=0).Aturan cache yang dikonfigurasi di Konsol CDN memiliki prioritas lebih tinggi, kecuali jika origin server secara eksplisit mengirimkan direktif no-cache seperti yang dijelaskan di atas.
Logika prioritas saat beberapa aturan cache di Konsol cocok dengan satu permintaan:
Skenario
Logika prioritas
Contoh
Bobot berbeda
Aturan dengan bobot lebih tinggi (1–99) memiliki prioritas lebih tinggi.
Aturan A (direktori
/image/, bobot 50) dan Aturan B (ekstensi file.jpg, bobot 90) sama-sama cocok denganimage/a.jpg. Aturan B diterapkan karena memiliki bobot lebih tinggi.Bobot sama
Aturan yang dibuat lebih awal memiliki prioritas lebih tinggi.
Anda mengonfigurasi aturan direktori (
/static/) dan aturan ekstensi file (.js) untuk sebuah nama domain, keduanya dengan bobot 60. Jika aturan direktori dibuat sebelum aturan ekstensi file, permintaan untuk/static/app.jsakan cocok dengan aturan direktori.Saat permintaan cocok dengan satu aturan cache, tidak ada aturan lain yang dievaluasi.
Secara default, jika origin server merespons dengan
Pragma: no-cacheatauCache-Control: no-cache/no-store/max-age=0, POP CDN tidak menyimpan resource tersebut dalam cache. Untuk memaksa caching, pilih Ignore Origin No-Cache Header saat mengonfigurasi aturan kedaluwarsa cache.
CDN menghormati header respons HTTP dari origin server jika permintaan tidak cocok dengan aturan apa pun di Konsol CDN, atau jika aturan yang cocok memiliki opsi Honor Origin TTL diaktifkan. Prioritas header respons, dari tertinggi ke terendah, adalah sebagai berikut:
cache-control>expires>last-modified>ETag.Header respons
CDN penanganan
Catatan dan contoh
Cache-Control
Menggunakan
s-maxage(durasi cache CDN) terlebih dahulu, lalumax-age.Contoh:
s-maxage=86400, max-age=3600Expires
Menentukan waktu kedaluwarsa. Ini hanya digunakan jika header
Cache-Controltidak ada.Contoh:
Expires: Wed, 21 Oct 2025 07:28:00 GMTLast-Modified
Header
Last-Modifiedadalah timestamp yang menunjukkan kapan resource terakhir dimodifikasi.Durasi cache dihitung sebagai berikut:
(Waktu Saat Ini –
last-modified) × 0,1. Durasi yang dihitung kemudian dibatasi antara minimum 10 detik dan maksimum 3.600 detik.Contoh:
Last-Modified: Wed, 21 Oct 2023 07:28:00 GMTETag
ETagadalah pengenal unik yang dihasilkan oleh server untuk versi spesifik suatu resource, biasanya berupa hash atau nomor versi.Secara default, resource dengan
ETagdi-cache selama 10 detik.Contoh:
ETag: "abc123"Kebijakan no-cache CDN: Jika permintaan tidak cocok dengan aturan cache apa pun di Konsol CDN dan server origin tidak mengembalikan header respons cache seperti
Cache-Control, maka CDN menerapkan kebijakan no-cache.
CDN hanya menerapkan kebijakan cache untuk permintaan yang mengembalikan kode status 200, 203, 206, 300, 301, 308, atau 410 dari origin server. Untuk menyimpan respons dengan kode status lain—seperti 404—dalam cache, Anda harus mengonfigurasi perilaku tersebut di Cache Configuration > Status Code Expiration.
Prosedur
Konsol (disarankan)
Di Konsol CDN, buka halaman Domain Names dan klik Manage di samping nama domain target.
Di halaman Cache > Cache Expiration, klik Add untuk mengonfigurasi aturan cache.

Parameter
Deskripsi
Default/contoh
Type
Tentukan cakupan aturan berdasarkan Directory atau File Extension.
• Directory: Menetapkan aturan cache seragam untuk semua resource di bawah path tertentu.
• File Extension: Menetapkan aturan cache seragam untuk file dengan tipe tertentu.Directory, File Extension
Object
Masukkan nilai berdasarkan tipe yang dipilih:
• Directory: Harus diawali garis miring maju (/), misalnya/static/. Satu garis miring maju (/) cocok dengan semua path. Anda hanya dapat menambahkan satu direktori dalam satu waktu.
• File Extension: Masukkan satu atau beberapa ekstensi file, dipisahkan koma, misalnyajpg,png,css. Entri bersifat case-sensitive dan tidak mendukung simbol vertikal (|) atau simbol lainnya./static/,jpg,png,cssExpire In
Durasi cache untuk resource di POP. Durasi maksimum adalah tiga tahun.
• Untuk resource statis yang jarang diperbarui (misalnya, gambar, installer), tetapkan durasi ≥ 1 bulan.
• Untuk resource statis yang sering diperbarui (misalnya, file JS/CSS), tetapkan durasi lebih pendek, seperti 1 hingga 7 hari.
• Untuk konten dinamis (misalnya, halaman PHP/JSP), tetapkan durasi menjadi 0 detik (tidak di-cache).0 detik hingga 3 tahun
Honor Origin TTL
Secara default dinonaktifkan. Jika diaktifkan, kebijakan cache origin server memiliki prioritas lebih tinggi dan menggantikan aturan ini.
Off
Ignore Origin No-Cache Header
Jika diaktifkan, CDN mengabaikan direktif no-cache berikut dari origin server:
Cache-Control: no-store,no-cache, ataumax-age=0, danPragma: no-cache. Resource di-cache sesuai aturan di Konsol.Off
Follow POP Cache Policy
Jika diaktifkan, CDN mengembalikan kebijakan cache efektifnya, seperti
max-age=3600, ke klien dalam header respons.Off
Force Revalidation
Pengaturan ini hanya berlaku ketika waktu kedaluwarsa diatur ke 0 detik.
• Dinonaktifkan (default, setara dengan kebijakan cacheno-store): POP tidak melakukan cache file, dan setiap permintaan harus diteruskan ke origin server untuk mengambil konten.
• Diaktifkan (setara dengan kebijakan cacheno-cache): POP melakukan cache file, tetapi setiap permintaan harus divalidasi ulang dengan origin server menggunakan mekanisme 304. Ini berguna untuk skenario yang memerlukan validasi real-time namun tetap ingin mengurangi tekanan bandwidth pada origin server.Off
Weight
Prioritas aturan. Nilainya berkisar antara 1 hingga 99, di mana nilai lebih tinggi menunjukkan prioritas lebih tinggi. Saat beberapa aturan cocok dengan resource yang sama, aturan dengan bobot lebih tinggi memiliki prioritas lebih tinggi. Jika bobotnya sama, aturan yang dibuat lebih awal memiliki prioritas lebih tinggi. Kami menyarankan menetapkan bobot tinggi untuk path atau ekstensi file spesifik dan bobot rendah untuk direktori root (
/) untuk mencapai kontrol detail halus.1 hingga 99
Rule Condition
Persempit lebih lanjut cakupan aturan berdasarkan parameter permintaan seperti header dan parameter URL. Secara default tidak digunakan. Untuk mengonfigurasi kondisi, gunakan Rule Engine. Saat kondisi aturan dirujuk, pencocokan didasarkan pada prioritas kondisi terkait, bukan urutan konfigurasi fitur itu sendiri.
Do not use
Logika pencocokan aturan cache
Aturan kedaluwarsa cache CDN mendukung dua tipe aturan dengan perilaku pencocokan berbeda:
Directory: Menggunakan pencocokan prefiks path. Misalnya, mengonfigurasi
/static/cocok dengan semua resource di bawah direktori tersebut (seperti/static/image/1.jpgdan/static/css/style.css). Mengonfigurasi/cocok dengan semua path. Path direktori harus diawali garis miring maju (/). Setiap aturan hanya mendukung satu direktori.File Extension: Menggunakan pencocokan ekstensi eksak. Masukkan ekstensi tanpa titik, dan pisahkan beberapa ekstensi dengan koma (misalnya,
jpg,css,js). Ekstensi hanya mendukung karakter alfanumerik, tanpa batasan tipe ekstensi tertentu. Tipe-tipe berikut semuanya dapat dikonfigurasi:Ekstensi resource statis umum:
jpg,png,gif,css,js,htmlEkstensi file font:
ttf,otf,woff,woff2,eotEkstensi halaman dinamis:
php,aspx,jspEkstensi alfanumerik lainnya
Perhatikan hal-hal berikut mengenai pencocokan aturan cache:
Saat beberapa aturan cache cocok dengan permintaan yang sama (misalnya, aturan direktori dan aturan ekstensi file), aturan dengan Weight lebih tinggi memiliki prioritas lebih tinggi. Aturan dengan bobot sama diselesaikan berdasarkan urutan pembuatan (aturan yang lebih awal menang). Untuk detailnya, lihat bagian "Cara kerja" di atas.
Jika Anda mengaitkan kondisi aturan (dikonfigurasi di Rule Engine) dengan aturan cache, beberapa kondisi menggunakan logika AND — permintaan harus memenuhi semua kondisi agar cocok.
Jika Anda menetapkan aturan no-cache umum untuk semua ekstensi dinamis (seperti
aspx), pastikan hal tersebut tidak memengaruhi resource statis yang ingin Anda cache. Untuk melakukan cache file font, tambahkan aturan khusus dengan ekstensi sepertittf,otf,woff,woff2,eot.
API
Panggil operasi API BatchSetCdnDomainConfig untuk mengonfigurasi beberapa nama domain secara batch. Untuk informasi lebih lanjut tentang cara mengonfigurasi parameter untuk fitur lain, lihat Domain name configuration functions.
Terapkan perubahan aturan segera
Aturan baru atau yang dimodifikasi hanya berlaku untuk resource yang baru di-cache. Resource yang telah di-cache sebelumnya tetap menggunakan kebijakan cache lama hingga masa berlakunya habis.
Untuk menerapkan aturan baru secara langsung di seluruh jaringan, Anda harus membersihkan cache yang ada secara manual. Jika Anda mengubah aturan, lakukan operasi purge menggunakan fitur Purge and Prefetch resources. Jika Anda menambahkan aturan baru, lakukan operasi prefetch menggunakan fitur prefetch resource.
Verifikasi
Setelah menyelesaikan konfigurasi, Anda dapat menggunakan perintah curl atau alat developer browser untuk memeriksa header respons HTTP suatu resource guna memverifikasi bahwa caching berfungsi 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 | Deskripsi |
| Menunjukkan apakah permintaan mengenai cache CDN. |
| Setelah Anda mengaktifkan "Client Follows CDN Cache Policy", header ini menampilkan direktif caching yang diteruskan CDN ke browser, seperti |
| Total durasi cache yang dikonfigurasi untuk resource di POP, dalam detik. |
Praktik terbaik
Gunakan nama file berbasis versi (disarankan): Saat memperbarui resource statis seperti
style.css, gunakan nama file baru yang mencakup versi atau hash, misalnyastyle-v2.cssataustyle-a1b2c3d.css, lalu perbarui referensinya di HTML Anda. Pendekatan ini memastikan pengguna langsung menerima konten terbaru tanpa perlu membersihkan cache CDN secara manual, sehingga menjadi metode yang direkomendasikan untuk memperbarui konten yang di-cache.Terapkan pemisahan konten dinamis dan statis: Gunakan nama domain atau path direktori berbeda untuk resource dinamis dan statis. Konfigurasikan aturan cache terpisah dengan bobot tinggi untuk masing-masing guna menghindari konflik kebijakan. Misalnya, tetapkan durasi cache panjang untuk semua resource di direktori
/static/dan nonaktifkan cache untuk resource di direktori/api/.Manfaatkan cache browser secara efektif: Aktifkan opsi "Client follows CDN cache policy" untuk mengurangi permintaan berulang ke CDN, mempercepat pemuatan, dan menghemat trafik CDN.
Hindari durasi cache yang terlalu pendek: Durasi cache yang singkat menyebabkan CDN sering melakukan pengambilan asal, sehingga menghilangkan manfaat akselerasi serta meningkatkan lalu lintas dan biaya pada origin server Anda.
Berhati-hatilah dengan durasi cache panjang: Durasi cache panjang dapat mencegah klien menerima pembaruan konten tepat waktu. Untuk konten yang perlu sering diperbarui, pastikan untuk membersihkan cache atau menggunakan nama file berbasis versi.
Skenario file kecil: Untuk resource file kecil di industri game (seperti file konfigurasi dan paket aset) yang jarang diperbarui (misalnya, mingguan atau dua minggu sekali), tetapkan waktu kedaluwarsa cache menjadi 15 hari atau sesuaikan dengan siklus pembaruan resource aktual. Hal ini menyeimbangkan kecepatan pembaruan dan kinerja akselerasi. Durasi cache terlalu pendek menyebabkan pengambilan asal sering terjadi dan mengurangi manfaat akselerasi; durasi terlalu panjang dapat menyajikan konten kedaluwarsa kepada pemain. Kami menyarankan menggunakan fitur purge and prefetch untuk memperbarui cache secara proaktif saat konten diperbarui.
Mekanisme kontrol cache HTTP
Protokol HTTP menggunakan tiga jenis header untuk kontrol cache: