Anda dapat membuat aturan untuk menghasilkan kunci cache berdasarkan bagian-bagian yang berbeda dari permintaan HTTP, seperti URI, parameter permintaan, header permintaan HTTP, dan variabel kustom. Fitur ini juga memungkinkan Anda mengonversi URL untuk sumber daya yang sama menjadi kunci cache yang sama. Hal ini meningkatkan rasio hit cache, serta mengurangi jumlah permintaan yang dialihkan ke server asal, waktu respons, dan penggunaan bandwidth.
Skenario
Kunci cache kustom tidak mengubah URL asli. Kunci cache kustom hanya memodifikasi pengenal cache dalam permintaan. Permintaan yang dialihkan ke server asal tetap ditujukan untuk konten yang sama.
Kunci cache adalah ID unik dari file yang di-cache pada titik kehadiran (POP). Setiap file yang di-cache pada POP memiliki kunci cache. Secara default, kunci cache sebuah file adalah URL dalam permintaan yang dikirim untuk mengambil file tersebut. URL tersebut mencakup parameter.
Skenario 1
URL dalam permintaan mungkin berisi parameter yang kompleks. Akibatnya, meskipun permintaan dikirim untuk mengambil konten yang sama, variasi parameter URL menyebabkan POP menganggap bahwa permintaan tersebut ditujukan untuk sumber daya yang berbeda. Dalam situasi ini, sejumlah besar permintaan dialihkan ke server asal. 
Anda dapat menetapkan kunci cache untuk jenis permintaan tertentu guna mengurangi jumlah permintaan yang dialihkan ke server asal.
Skenario 2
Permintaan berisi URL yang sama. Dalam hal ini, DCDN menganggap bahwa permintaan tersebut dikirim untuk mengambil sumber daya yang sama. Namun, sistem operasi klien ditentukan dalam bidang header HTTP permintaan. Permintaan tersebut mungkin ditujukan untuk mengambil file yang berbeda. 
Anda dapat membuat dua kunci cache dengan memasukkan nilai bidang klien ke dalam kunci cache, lalu menggunakan kunci cache tersebut untuk membedakan permintaan. 
Prosedur
Masuk ke DCDN Console.
Di panel navigasi di sebelah kiri, klik Domain Names.
Pada halaman Domain Names, temukan nama domain yang ingin Anda kelola dan klik Configure.
Di pohon navigasi di sebelah kiri nama domain, klik Caching.
Pada tab Custom Cache Key, konfigurasikan kunci cache.
CatatanAnda dapat memodifikasi URI, tindakan parameter, header HTTP, dan variabel kustom dalam kunci cache. Kunci cache terdiri dari URI, tindakan parameter, header HTTP, dan variabel kustom.

Parameter
Deskripsi
Rule Condition
Kondisi aturan dapat mengidentifikasi parameter dalam permintaan untuk menentukan apakah suatu konfigurasi berlaku untuk permintaan tersebut.
Tidak menggunakan kondisi
Pilih kondisi aturan yang telah dikonfigurasi di Rules engine.
URIs
Source URI, yang dimulai dengan garis miring (/). Source URI tidak berisi http:// atau nama domain. Perl Compatible Regular Expressions (PCRE) didukung dalam source URI.
Final URI, yang dimulai dengan garis miring (/). Final URI tidak berisi http:// atau nama domain. Final URI merupakan bagian dari kunci cache.
Parameter Actions
Tindakan parameter disertakan dalam URL permintaan. Anda dapat menentukan tindakan Tambah, Hapus, Ubah, dan Simpan. Setelah tindakan yang ditentukan dilakukan, hasilnya menjadi bagian dari kunci cache.
HTTP Headers
Header HTTP disertakan dalam permintaan pengguna. Anda dapat menambahkan beberapa nilai header HTTP ke kunci cache.
Custom Variables
Anda dapat menggunakan ekspresi reguler untuk mengekstrak bidang dari parameter permintaan, header HTTP, cookie, dan URI, lalu menambahkan bidang yang diekstraksi ke kunci cache.
Klik OK.
Konfigurasi contoh
URIs
Permintaan yang ditujukan untuk URI http://aliyundoc.com/a/b/image.jpg dan http://aliyundoc.com/a/b/c/image.jpg dianggap meminta file yang sama. Kunci cache file tersebut adalah http://aliyundoc.com/c/image.jpg. 
Parameter Actions
Untuk permintaan yang ditujukan ke http://aliyundoc.com/a/b/image.jpg?delete_par=1&modify_par=1, add_par=1 ditambahkan ke URI, delete_par dihapus, dan nilai modify_par diubah menjadi 2. Dalam hal ini, URI akhirnya adalah http://aliyundoc.com/a/b/image.jpg?modify_par=2&add_par=1.
Prioritas tindakan yang diterapkan pada variabel yang sama adalah: Tambah > Hapus > Simpan Hanya > Ubah.

HTTP Headers
Dalam contoh ini, nilai-nilai dari bidang User-Agent dan Accept-Language dalam header HTTP disertakan dalam kunci cache. Sebagai contoh, jika permintaan yang ditujukan ke http://aliyundoc.com/a/b/image.jpg mencakup header User-Agent=Mozilla/5.0 (Linux; X11) dan Accept-Language=en, kunci cache permintaan tersebut adalah http://aliyundoc.com/a/b/image.jpgMozilla/5.0(Linux;X11)en. 
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. 
Jika permintaan yang ditujukan ke http://aliyundoc.com/a/b/image.jpg membawa header Accept-Language=en,ch, aturan pencocokan memberikan nilai en kepada $1 dalam ekspresi. String aa ditambahkan ke akhir ekspresi variabel. Dalam hal ini, variabel enaa dengan alias language dihasilkan. Lalu, kunci cache akhirnya adalah http://aliyundoc.com/a/b/image.jpgenaa.
$n dalam ekspresi variabel menentukan konten yang cocok yang diapit oleh tanda kurung ke-n. Pada Contoh 1, Accept-Language=en,ch dan aturan pencocokan adalah ([%w]+),([%w]+). Oleh karena itu, $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. 
Jika permintaan yang ditujukan ke http://aliyundoc.com/a/b/image.jpg membawa header Cookie a=expired_time:12635187, aturan pencocokan memberikan 12635187 kepada $1 dalam ekspresi variabel. Alias variabel tersebut adalah expired. Lalu, kunci cache akhirnya adalah http://aliyundoc.com/a/b/image.jpg12635187.
Contoh 3
Konfigurasikan aturan URI dan variabel kustom secara bersamaan.
URI
Ubah
/abc/.*/abcdi semua URI permintaan menjadi/abc.
Variabel Kustom
Nama variabel adalah
testname, sumbernya adalahPath, aturan pencocokannya adalah/abc/xyz/(.*), dan ekspresi variabelnya adalah$1.
Jika permintaan ditujukan ke
http://aliyundoc.com/abc/xyz/abc/image.jpg, URL tersebut diubah menjadihttp://aliyundoc.com/abc/image.jpgberdasarkan aturan URI. URL tersebut cocok dengan/abc/xyz/(.*)sesuai dengan aturan variabel kustom. Dalam hal ini,$1diberi nilaiabclalu ditambahkan ke kunci cache. Kunci cache akhirnya adalahhttp://aliyundoc.com/abc/image.jpgabc. Dua aturan diterapkan secara bersamaan untuk mendukung logika caching yang kompleks.Jika variabel kustom kunci cache tidak cocok, ekspresi variabel
$1tidak ditambahkan ke kunci cache.