All Products
Search
Document Center

CDN:Kunci cache kustom

Last Updated:Aug 07, 2026

Aturan kunci cache kustom menghasilkan kunci cache dari bagian tertentu dalam permintaan HTTP, seperti URI, parameter permintaan, header HTTP, atau variabel kustom. Dengan mengonsolidasikan permintaan untuk resource yang sama ke dalam satu kunci cache yang seragam, fitur ini meningkatkan rasio hit cache, mengurangi pengambilan asal (origin fetches), serta menurunkan waktu respons dan konsumsi bandwidth.

Perbandingan dan pemilihan fitur

  • Konflik antara kunci cache kustom dan Ignore parameters: Jika Anda mengonfigurasi penyaringan parameter dan kunci cache kustom secara bersamaan, penyaringan parameter tidak berlaku.

  • Fitur kunci cache kustom memberikan kontrol yang lebih rinci sehingga direkomendasikan dibandingkan penyaringan parameter. Tabel berikut membandingkan kedua fitur tersebut.

    Kasus penggunaan

    Penyaringan parameter

    Kunci cache kustom

    Abaikan semua parameter permintaan dalam kunci cache

    Atur Ignore Parameters ke Yes dan biarkan bidang Retain Specified Parameters kosong.

    Tambahkan aturan parameter permintaan. Atur Action ke Reserve dan atur Parameter Name ke nama parameter yang tidak ada, misalnya example-argument.

    Pertahankan hanya parameter permintaan key1 dalam kunci cache

    Atur Ignore Parameters ke Yes dan atur Retain Specified Parameters ke key1.

    Tambahkan aturan parameter permintaan. Atur Action ke Reserve dan atur Parameter Name ke key1.

    Hapus hanya parameter permintaan key1 dari kunci cache

    Atur Remove Specified Parameters ke key1.

    Tambahkan aturan parameter permintaan. Atur Action ke Delete dan atur Parameter Name ke key1.

  • Rewrite origin parameters: Fitur kunci cache kustom hanya memodifikasi kunci cache dan tidak mengubah URL untuk permintaan pengambilan asal (origin fetch). Permintaan pengambilan asal tetap sama dengan permintaan klien. Untuk memodifikasi parameter permintaan yang dikirim ke origin, gunakan Rewrite origin parameters.

  • Purge cache: Setelah Anda mengonfigurasi kunci cache kustom, tugas purge by URL mungkin gagal mencocokkan konten yang di-cache. Untuk memastikan purge berhasil, gunakan kunci cache akhir yang dihasilkan oleh aturan Anda sebagai target purge.

Kasus penggunaan

Kunci cache adalah pengidentifikasi unik untuk file yang di-cache pada Titik Kehadiran (POP) CDN. Setiap file yang di-cache memiliki kunci cache yang sesuai. Secara default, kunci cache adalah URL permintaan klien, termasuk parameter apa pun. Fitur kunci cache kustom tidak memodifikasi URL untuk pengambilan asal. Fitur ini hanya mengubah kunci cache. Permintaan pengambilan asal tetap sama dengan permintaan asli klien.

Catatan

CDN dirancang untuk mempercepat resource statis dan tidak mendukung akselerasi API dinamis. Fitur kunci cache kustom mengoptimalkan strategi caching untuk resource statis, seperti menstandarkan parameter URL atau membedakan antar klien, dan tidak cocok untuk skenario caching API dinamis. Untuk akselerasi konten dinamis, pertimbangkan penggunaan Edge Security Acceleration (ESA).

Kasus penggunaan 1: Mengkonsolidasikan permintaan

Permintaan klien yang berbeda sering kali menyertakan parameter yang bervariasi dalam URL. Meskipun beberapa permintaan menargetkan file yang sama, POP CDN memperlakukan permintaan dengan parameter URL berbeda sebagai file terpisah. Hal ini menghasilkan beberapa salinan cache dan tambahan pengambilan asal.Consolidate requests - before

Anda dapat menggunakan aturan kunci cache kustom untuk menyatukan kunci cache untuk permintaan tersebut, yang mengurangi laju pengambilan asal.Consolidate requests - after

Kasus penggunaan 2: Membedakan permintaan

Ketika permintaan klien memiliki URL yang sama, CDN memperlakukannya sebagai permintaan untuk file yang sama. Namun, Anda mungkin perlu menyajikan konten berbeda berdasarkan bidang client dalam header HTTP yang mengidentifikasi sistem klien berbeda.Differentiate requests - before

Dalam kasus ini, tambahkan nilai header client ke kunci cache dengan menggunakan aturan kunci cache kustom. Hal ini membuat kunci cache berbeda untuk setiap jenis klien.Differentiate requests - after

Prosedur

  1. Masuk ke CDN console.

  2. Pada halaman Domain Names, temukan nama domain target dan klik Manage di kolom Actions.

  3. Di panel navigasi sebelah kiri, pilih Cache.

  4. Pada tab Custom Cache Key, klik Create Rule untuk mengatur parameter berikut:

    Rule Condition

    Rule Condition mengidentifikasi permintaan berdasarkan berbagai parameter untuk menentukan apakah konfigurasi berlaku untuk permintaan tertentu. Jika suatu aturan menggunakan Rule Condition, urutan eksekusi ditentukan oleh prioritas Rule Condition tersebut, bukan oleh pengaturan prioritas fitur.

    • Do not use: Kunci cache kustom berlaku untuk semua permintaan tanpa Rule Condition.

    • To add or edit a Rule Condition: Kelola di Rules Engine. Untuk informasi selengkapnya, lihat Rule Conditions dan Rules Engine.

    URIs

    Ketika URI permintaan klien cocok dengan Source URI dalam konfigurasi, sistem menggantinya dengan Final URI yang dikonfigurasi untuk menghasilkan kunci cache. Anda dapat mengonfigurasi beberapa kebijakan penggantian URI. Kebijakan dicocokkan secara berurutan dari atas ke bawah. Begitu Source URI cocok, sistem menerapkan Final URI yang sesuai dan menghentikan pencocokan kebijakan berikutnya.

    • Source URI: URI yang dimulai dengan garis miring (/) dan tidak menyertakan awalan http:// atau nama domain. Ekspresi reguler PCRE didukung.

    • Final URI: URI yang dimulai dengan garis miring (/) dan tidak menyertakan awalan http:// atau nama domain.

    Request Parameter

    Operasi dilakukan pada parameter URL permintaan asli. Anda dapat melakukan operasi Add, Delete, Modify, dan Reserve. Hasilnya ditambahkan ke kunci cache. Jika Anda mengonfigurasi beberapa operasi, operasi tersebut dieksekusi secara berurutan dari atas ke bawah.

    • Add: Menambahkan parameter permintaan baru ke kunci cache. Misalnya, jika URL asli adalah http://image.example.com/cat.jpg dan Anda menambahkan parameter type=jpg, kunci cache menjadi http://image.example.com/cat.jpg?type=jpg.

    • Delete: Menghapus parameter yang ditentukan dari URL permintaan asli saat menghasilkan kunci cache. Misalnya, jika URL asli adalah http://image.example.com/cat.jpg?type=jpg dan Anda menghapus parameter type, kunci cache menjadi http://image.example.com/cat.jpg.

    • Modify: Mengubah nilai parameter yang ditentukan dalam URL permintaan asli saat menghasilkan kunci cache. Misalnya, jika URL asli adalah http://image.example.com/cat.jpg?type=jpg dan Anda mengubah parameter menjadi type=png, kunci cache menjadi http://image.example.com/cat.jpg?type=png.

    • Reserve: Hanya mempertahankan parameter yang ditentukan dari URL permintaan asli saat menghasilkan kunci cache. Semua parameter lain dihapus. Misalnya, jika URL asli adalah http://image.example.com/cat.jpg?type=jpg&path=image dan Anda mempertahankan parameter type, kunci cache menjadi http://image.example.com/cat.jpg?type=jpg.

    HTTP Headers

    Menambahkan nilai header HTTP tertentu dari permintaan asli klien ke kunci cache. Anda dapat menentukan beberapa nama header, dipisahkan dengan spasi. Nilai ditambahkan sesuai urutan header yang ditentukan. Misalnya, jika URL asli adalah http://image.example.com/cat.jpg dan permintaan klien membawa header HTTP path:image, mengatur path di bidang HTTP Headers menghasilkan kunci cache http://image.example.com/cat.jpgimage.

    Custom Variables

    Menambahkan nilai variabel kustom ke kunci cache yang dihasilkan untuk meningkatkan fleksibilitas caching. Variabel kustom terdiri dari parameter berikut:

    • Variable name: Nama kustom untuk variabel.

    • Source: Nilai bidang yang dibawa dalam permintaan klien. Jenis sumber berikut tersedia:

      • Query String Parameter: String kueri dalam URL permintaan.

      • Request Header: Header permintaan yang dibawa dalam permintaan klien.

      • Path: Jalur resource dalam URL permintaan.

      • Scheme: Protokol yang digunakan oleh URL permintaan. Mendukung HTTP dan HTTPS.

    • Source field: Diperlukan hanya untuk jenis sumber Query String Parameter, Request Header, dan Request Cookie. Tentukan salah satu berikut:

      • Nama parameter tertentu dalam string kueri.

      • Nama header permintaan tertentu.

    • Match rule: Ekspresi reguler yang mencocokkan string tertentu dalam nilai bidang sumber.

    • Variable expression: Menghasilkan nilai variabel akhir. Mendukung string tetap dan referensi grup tangkapan seperti $1, yang mereferensikan konten yang ditangkap oleh grup dalam tanda kurung pertama.

  5. Klik OK.

Contoh konfigurasi

URIs

Permintaan untuk http://aliyundoc.com/a/b/image.jpg dan http://aliyundoc.com/a/b/c/image.jpg diperlakukan sebagai permintaan untuk file yang sama. Kunci cache untuk file ini adalah http://aliyundoc.com/c/image.jpg. Konfigurasikan aturan penulisan ulang URI berikut: tulis ulang Source URI /a/b menjadi Final URI /c, dan tulis ulang Source URI /a/b/c menjadi Final URI /c. Klik + Add Source URI untuk menambahkan aturan penulisan ulang, atau klik Delete untuk menghapus aturan yang ada.

Request Parameter

Permintaan klien untuk http://aliyundoc.com/a/b/image.jpg?delete_par=1&modify_par=1 diproses sebagai berikut: add_par=1 ditambahkan, delete_par dihapus, dan nilai modify_par diubah menjadi 2. Kunci cache yang dihasilkan adalah http://aliyundoc.com/a/b/image.jpg?modify_par=2&add_par=1.

Penting

Jika beberapa operasi menargetkan parameter permintaan yang sama, urutan prioritasnya adalah: Add > Delete > Reserve > Modify.

Aksi Delete hanya mendukung satu nama parameter. Untuk menghapus beberapa parameter, klik + Add Parameter Operation untuk menambahkan aturan Delete terpisah untuk setiap parameter.

HTTP Headers

Nilai header User-Agent dan Accept-Language dari permintaan klien ditambahkan ke kunci cache. Misalnya, jika permintaan untuk http://aliyundoc.com/a/b/image.jpg berisi header User-Agent=Mozilla/5.0 (Linux; X11) dan Accept-Language=en, kunci cache-nya adalah http://aliyundoc.com/a/b/image.jpgMozilla/5.0(Linux;X11)en. Di kotak teks HTTP Headers, masukkan bidang header permintaan yang ingin Anda sertakan, seperti User-Agent dan Accept-Language.

Custom Variables

Contoh 1

Nama variabel adalah language, sumbernya adalah Request Header, bidang sumbernya adalah Accept-Language, aturan pencocokannya adalah ([%w]+),([%w]+), dan ekspresi variabelnya adalah $1aa. Konfigurasikan variabel kustom sebagai berikut: atur Variable name ke language, pilih Request Header sebagai Source, masukkan Accept-Language sebagai Source field, masukkan ([%w]+),([%w]+) sebagai Match rule, dan masukkan $1aa sebagai Variable expression.

Klien meminta http://aliyundoc.com/a/b/image.jpg dengan header HTTP Accept-Language=en,ch. Aturan pencocokan menangkap en dan menetapkannya ke $1 dalam ekspresi variabel. Ekspresi variabel juga menambahkan aa, menghasilkan nilai variabel enaa dengan alias language. Nilai ini ditambahkan ke URL untuk membentuk kunci cache akhir: http://aliyundoc.com/a/b/image.jpgenaa.

Catatan

$n dalam ekspresi variabel merujuk pada konten yang ditangkap oleh grup dalam tanda kurung ke-n dalam aturan pencocokan. Misalnya, dengan Accept-Language=en,ch dan aturan pencocokan ([%w]+),([%w]+), $1=en dan $2=ch.

Contoh 2

Nama variabel adalah expired, sumbernya adalah Request Cookie, bidang sumbernya adalah a, aturan pencocokannya adalah [%w]+:(.*), dan ekspresi variabelnya adalah $1. Konfigurasikan variabel kustom sebagai berikut:

  • Variable name: expired

  • Source: Request Cookie

  • Source field: a

  • Match rule: [%w]+:(.*)

  • Variable expression: $1

Klien meminta http://aliyundoc.com/a/b/image.jpg dengan cookie Cookie a=expired_time:12635187. Aturan pencocokan menangkap 12635187 dan menetapkannya ke $1 dalam ekspresi variabel, dengan alias expired. Nilai ini ditambahkan ke URL untuk membentuk kunci cache akhir: http://aliyundoc.com/a/b/image.jpg12635187.

Contoh 3

Contoh ini menggabungkan aturan URI dan variabel kustom.

URI:

Gabungkan semua permintaan dengan URI yang cocok /abc/.*/abc menjadi /abc. Source URI-nya adalah /abc/.*/abc, dan Final URI-nya adalah /abc.

Variabel Kustom:

Nama variabel adalah testname, sumbernya adalah Path, aturan pencocokannya adalah /abc/xyz/(.*), dan ekspresi variabelnya adalah $1. Konfigurasikan sebagai berikut: atur Variable name ke testname, atur Source ke Path, atur Match rule ke /abc/xyz/(.*), dan atur Variable expression ke $1.

Klien meminta http://aliyundoc.com/abc/xyz/abc/image.jpg. Berdasarkan konfigurasi URI, kunci cache ditulis ulang menjadi http://aliyundoc.com/abc/image.jpg. Kemudian, berdasarkan konfigurasi variabel kustom, jalur permintaan asli cocok dengan /abc/xyz/(.*). Pada titik ini, $1 diberi nilai abc/image.jpg dan ditambahkan ke kunci cache, membentuk kunci cache akhir: http://aliyundoc.com/abc/image.jpgabc/image.jpg. Ini menunjukkan bagaimana Anda dapat menggabungkan aturan untuk menerapkan logika caching yang lebih kompleks.

Jika variabel kustom untuk kunci cache tidak cocok, ekspresi variabel $1 tidak ditambahkan ke kunci cache.

Contoh 4

Contoh ini menggabungkan Rule Condition dan variabel kustom untuk menghasilkan kunci cache berbeda untuk permintaan dari klien mobile dan PC.

Mobile Rule Condition:

Header User-Agent berisi salah satu string berikut: *Mobile*,*Android*,*iPhone*,*ipad*.

PC Rule Condition:

Header User-Agent tidak berisi string berikut: *Mobile*,*Android*,*iPhone*,*ipad*.

Mobile kunci cache kustom:

Untuk Rule Condition, pilih Mobile. Untuk Custom Variables, atur Variable Name ke Mobile, Source ke Path, Matching Rule ke /, dan Variable Expression ke +mobile.

PC kunci cache kustom:

Untuk Rule Condition, pilih PC. Untuk Custom Variables, atur Variable Name ke PC, Source ke Path, Matching Rule ke /, dan Variable Expression ke +pc.

Untuk permintaan klien ke http://aliyundoc.com/image.jpg, permintaan tersebut cocok dengan aturan kunci cache kustom Mobile atau PC berdasarkan nilai User-Agent. Kunci cache akhir untuk klien mobile adalah http://aliyundoc.com/image.jpg+mobile, dan kunci cache akhir untuk klien PC adalah http://aliyundoc.com/image.jpg+pc.