Anda dapat mengonfigurasi kunci cache kustom dengan membuat aturan yang menghasilkan kunci cache berdasarkan bagian-bagian berbeda dari permintaan HTTP, seperti URI, parameter permintaan, header permintaan HTTP, atau variabel kustom. Fitur ini menyatukan permintaan untuk file yang sama ke dalam satu kunci cache, sehingga mencegah permintaan identik di-cache sebagai file berbeda. Akibatnya, tingkat hit cache meningkat, pengambilan asal (origin fetches) berkurang, serta waktu respons dan konsumsi bandwidth menurun.
Catatan
Fitur kunci cache kustom dan fitur ignore parameter saling eksklusif. Jika Anda telah mengonfigurasi ignore parameters, CDN points of presence (POPs) akan menghapus parameter yang mengikuti tanda tanya (
?) dalam URL permintaan. Hal ini menyebabkan parameter permintaan yang dikonfigurasi dalam kunci cache tidak tersedia. Sebelum mengaktifkan kunci cache kustom, pastikan Anda belum mengonfigurasi pengaturan ignore parameter apa pun.Fitur kunci cache kustom hanya memodifikasi identifikasi cache suatu permintaan dan tidak mengubah URL pengambilan asal (origin fetch). Konten permintaan origin fetch tetap sama dengan permintaan klien.
Fitur purge URL tidak dapat membersihkan konten yang di-cache setelah Anda mengonfigurasi kunci cache kustom.
Kasus Penggunaan
Fitur kunci cache kustom hanya memodifikasi identifikasi cache suatu permintaan dan tidak mengubah URL pengambilan asal (origin fetch). Konten permintaan origin fetch tetap sama dengan permintaan klien.
Kunci cache adalah pengenal unik (ID) untuk file yang di-cache pada node CDN. Secara default, kunci cache suatu file adalah URL permintaan, termasuk parameternya.
Kasus Penggunaan 1
URL permintaan dapat berisi parameter kompleks. Jika beberapa permintaan ditujukan ke file yang sama tetapi memiliki parameter URL berbeda, POPs memperlakukannya sebagai permintaan untuk file yang berbeda. Hal ini menghasilkan beberapa salinan cache dan peningkatan jumlah origin fetches.
Anda dapat membuat aturan kunci cache kustom untuk menyatukan kunci cache dari permintaan tersebut guna mengurangi origin fetches.
Kasus Penggunaan 2
Saat permintaan memiliki URL yang sama, CDN menganggapnya sebagai permintaan untuk file yang sama. Namun, header HTTP mungkin berisi bidang client yang menentukan sistem klien berbeda, yang berarti permintaan tersebut sebenarnya ditujukan ke file yang berbeda.
Dalam kasus ini, Anda dapat membuat kunci cache kustom yang mencakup nilai bidang client tersebut. Hal ini memungkinkan dua permintaan diidentifikasi oleh dua kunci cache yang berbeda.
Prosedur
Masuk ke CDN console.
Di panel navigasi kiri, klik Domain Names.
Pada halaman Domain Names, temukan nama domain target lalu klik Manage di kolom Actions.
Di panel navigasi domain, klik Cache.
Pada tab Custom Cache Key, klik Configure untuk mengonfigurasi kunci cache.
Parameter Type
Instruksi
Rule Condition
Kondisi aturan mengidentifikasi berbagai parameter dalam permintaan pengguna untuk menentukan apakah konfigurasi berlaku untuk permintaan tersebut.
Jangan gunakan: Jangan gunakan kondisi aturan.
Untuk menambah atau mengedit kondisi aturan, kelola di Rules Engine.
URIs
Jika URI yang diminta klien sesuai dengan Source URI yang dikonfigurasi, sistem akan mengganti Source URI tersebut dengan Final URI yang dikonfigurasi untuk membentuk kunci cache.
Anda dapat mengonfigurasi beberapa kebijakan penggantian URI. Jika terdapat beberapa kebijakan, pencocokan dilakukan dari atas ke bawah. Begitu Source URI cocok, sistem akan menjalankan operasi penggantian menggunakan Final URI yang sesuai dan menghentikan evaluasi kebijakan berikutnya.
Source URI: URI harus diawali dengan garis miring (/) dan tidak boleh mencakup awalan http:// atau nama domain. Ekspresi reguler
PCREdidukung.Final URI: URI diawali dengan garis miring (/). URI ini tidak mencakup awalan `http://` atau nama domain.
Request Parameter
Objek operasi adalah parameter dalam URL permintaan asli. Anda dapat Add, Delete, Modify, atau Reserve parameter. Hasilnya akan ditambahkan ke kunci cache. Anda dapat mengonfigurasi beberapa operasi. Saat beberapa operasi dikonfigurasi, operasi tersebut dijalankan secara berurutan dari atas ke bawah.
Add: Tambahkan parameter permintaan baru ke kunci cache. Misalnya, jika URL asli adalah
http://image.example.com/cat.jpgdan Anda menambahkan parameter permintaantype=jpg, maka kunci cache menjadihttp://image.example.com/cat.jpg?type=jpg.Delete: Hapus parameter tertentu dari URL permintaan asli saat menghasilkan kunci cache. Misalnya, jika URL asli adalah
http://image.example.com/cat.jpg?type=jpgdan Anda menghapus parametertype, maka kunci cache menjadihttp://image.example.com/cat.jpg.Modify: Saat menghasilkan CacheKey, modifikasi parameter tertentu dalam URL permintaan asli. Contohnya: URL asli adalah
http://image.example.com/cat.jpg?type=jpg, ubah parametertype=png, maka CacheKey-nya adalah.Reserve: Pertahankan hanya parameter tertentu dari URL permintaan asli saat menghasilkan kunci cache. Misalnya, jika URL asli adalah
http://image.example.com/cat.jpg?type=jpg&path=imagedan Anda mempertahankan parametertype, maka kunci cache menjadihttp://image.example.com/cat.jpg?type=jpg.
HTTP Headers
Tambahkan nilai header HTTP tertentu dari permintaan asli klien ke kunci cache. Konfigurasikan beberapa nama header HTTP (pisahkan dengan spasi). Nilai setiap header HTTP ditambahkan ke kunci cache secara berurutan.
Contohnya, jika URL asli adalah
http://image.example.com/cat.jpgdan permintaan klien mencakupHTTP header (path: image), maka kunci cache menjadihttp://image.example.com/cat.jpgimageketika HTTP Headers mencakup headerpath.Custom Variables
Anda dapat menggunakan ekspresi reguler untuk mencocokkan nilai parameter permintaan, header HTTP, atau cookie tertentu, atau URI tertentu dalam permintaan klien asli. Ketika ditemukan kecocokan, nilai yang cocok tersebut akan ditambahkan ke kunci cache. Untuk informasi lebih lanjut, lihat Contoh konfigurasi.

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 tersebut adalah http://aliyundoc.com/c/image.jpg.
Request Parameter
Untuk permintaan ke http://aliyundoc.com/a/b/image.jpg?delete_par=1&modify_par=1 , aturan menambahkan add_par=1, menghapus delete_par, dan mengubah nilai modify_par menjadi 2. Kunci cache akhir didasarkan pada URL http://aliyundoc.com/a/b/image.jpg?modify_par=2&add_par=1.
Jika beberapa operasi dilakukan pada variabel yang sama, urutan prioritasnya adalah: Add > Delete > Retain > Modify.

HTTP Headers
Nilai header HTTP User-Agent dan Accept-Language ditambahkan ke kunci cache. Misalnya, jika permintaan untuk http://aliyundoc.com/a/b/image.jpg memiliki User-Agent=Mozilla/5.0 (Linux; X11) dan Accept-Language=en, maka kunci cache untuk permintaan ini adalah http://aliyundoc.com/a/b/image.jpgMozilla/5.0(Linux;X11)en.
Custom Variables
Contoh 1
Tetapkan nama variabel menjadi language, sumber menjadi Request Header, bidang sumber menjadi Accept-Language, aturan pencocokan menjadi ([%w]+),([%w]+), dan ekspresi variabel menjadi $1aa.
Klien melakukan permintaan ke http://aliyundoc.com/a/b/image.jpg dengan header HTTP Accept-Language=en,ch . Aturan pencocokan menangkap en sebagai $1. Ekspresi variabel menggunakan grup tangkapan ini dan menambahkan aa untuk menghasilkan nilai enaa. Nilai ini, yang menggunakan alias language, ditambahkan ke URL untuk membentuk kunci cache akhir: http://aliyundoc.com/a/b/image.jpgenaa.
Dalam ekspresi variabel, $n merujuk pada konten yang ditangkap oleh grup ke-n dalam aturan. Misalnya, jika string-nya adalah Accept-Language=en,ch dan aturannya adalah ([%w]+),([%w]+), maka $1 adalah en dan $2 adalah ch.
Contoh 2
Tetapkan nama variabel menjadi expired, sumber menjadi Request Cookie, bidang sumber menjadi a, aturan pencocokan menjadi [%w]+:(.*), dan ekspresi variabel menjadi $1.
Klien melakukan permintaan ke http://aliyundoc.com/a/b/image.jpg dengan cookie Cookie a=expired_time:12635187. Aturan pencocokan mengekstraksi nilai 12635187 dan menetapkannya ke ekspresi variabel $1. Alias untuk variabel ini adalah expired. Nilai ini kemudian ditambahkan ke URL untuk membuat kunci cache akhir: http://aliyundoc.com/a/b/image.jpg12635187.
Contoh 3
Tetapkan aturan URI dan variabel kustom.
URI:
Gabungkan semua permintaan yang URInya cocok dengan /abc/.*/abc menjadi /abc.
Variabel kustom:
Tetapkan nama variabel menjadi testname, sumber menjadi Path, aturan pencocokan menjadi /abc/xyz/(.*), dan ekspresi variabel menjadi $1.
Klien melakukan permintaan ke URL http://aliyundoc.com/abc/xyz/abc/image.jpg. Berdasarkan konfigurasi URI, URL tersebut digabungkan untuk menghasilkan kunci cache http://aliyundoc.com/abc/image.jpg. Kemudian, berdasarkan konfigurasi variabel kustom, URL asli cocok dengan pola /abc/xyz/(.*). Dalam hal ini, variabel $1 diberi nilai abc dan ditambahkan ke kunci cache. Kunci cache akhir adalah http://aliyundoc.com/abc/image.jpgabc. Kombinasi dua aturan ini memungkinkan logika caching yang lebih kompleks.
Jika permintaan tidak memenuhi aturan pencocokan variabel kustom, ekspresi variabel $1 tidak ditambahkan ke kunci cache.
Contoh 4
Anda dapat menetapkan kondisi aturan dan variabel kustom untuk menghasilkan kunci cache berbeda bagi permintaan dari klien mobile dan PC.
Mobile rule condition:
User-Agent mengandung salah satu dari *Mobile*,*Android*,*iPhone*,*ipad*

PC rule condition:
User-Agent tidak mengandung salah satu dari *Mobile*,*Android*,*iPhone*,*ipad*

Mobile custom cache key:
Tetapkan Rule Condition ke Mobile. Lalu, untuk Custom Variables, tetapkan Variable Name ke Mobile, Source ke Path, Matching Rule ke /, dan Variable Expression ke +mobile.

PC custom cache key:
Tetapkan Rule Condition ke PC. Untuk Custom Variables, tetapkan Variable Name ke PC, Source ke Path, Matching Rule ke /, dan Variable Expression ke +pc.

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