Anda dapat mengonfigurasi custom cache key 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 terpisah. Akibatnya, tingkat hit cache meningkat, pengambilan asal (origin fetches) berkurang, serta waktu respons dan konsumsi bandwidth menurun.
Kasus Penggunaan
Fitur custom cache key hanya memodifikasi pengidentifikasi cache suatu permintaan dan tidak mengubah URL pengambilan asal (origin fetch). Konten permintaan pengambilan asal tetap sama dengan permintaan klien.
Kunci cache adalah pengidentifikasi unik untuk file yang di-cache pada titik kehadiran DCDN. Secara default, kunci cache menggunakan URL permintaan klien, termasuk parameter kueri.
Kasus Penggunaan 1
Klien mengirim permintaan dengan parameter kueri yang kompleks. Meskipun beberapa permintaan mengakses file yang sama, nilai parameter yang berbeda menyebabkan titik kehadiran DCDN memperlakukannya sebagai permintaan untuk file yang berbeda. Akibatnya, DCDN menyimpan beberapa salinan dan meningkatkan jumlah pengambilan asal.
Gunakan aturan custom cache key untuk menyatukan kunci cache dari permintaan serupa. Hal ini mengurangi pengambilan asal.
Kasus Penggunaan 2
Klien mengirim URL yang identik. DCDN memperlakukan permintaan tersebut sebagai permintaan untuk file yang sama. Namun, header HTTP mencakup bidang client yang membedakan sistem klien. Anda ingin DCDN memperlakukan permintaan ini sebagai file yang berbeda.
Tambahkan nilai header client ke kunci cache. DCDN kemudian memperlakukan kedua permintaan tersebut sebagai memiliki kunci cache yang berbeda.
Prosedur
-
Masuk ke DCDN console.
-
Di panel navigasi sebelah kiri, klik Domain Names.
Pada halaman Domain Names, temukan nama domain yang ingin Anda kelola dan klik Configure.
-
Di pohon navigasi sebelah kiri domain, klik Caching.
Pada tab Custom Cache Key, konfigurasikan custom cache key.
CatatanAnda dapat memodifikasi URI, parameter kueri, dan header HTTP. Anda juga dapat mendefinisikan variabel kustom untuk mengekstraksi bidang dari permintaan. Kunci cache akhir menggabungkan empat bagian: URI, operasi parameter, header HTTP, dan variabel kustom.

Parameter Type
Operation Description
Rule Condition
Kondisi aturan mengidentifikasi berbagai parameter dalam permintaan pengguna untuk menentukan apakah konfigurasi berlaku untuk permintaan tersebut.
Do not use: Jangan gunakan kondisi aturan.
Untuk menambah atau mengedit kondisi aturan, kelola di Rules Engine.
URIs
Jika URI permintaan klien sesuai dengan Source URI yang dikonfigurasi, DCDN mengganti URI asal dengan Final URI yang dikonfigurasi untuk menghasilkan kunci cache.
Anda dapat mengonfigurasi beberapa aturan penggantian URI. DCDN menerapkannya secara berurutan dari atas ke bawah. Ketika menemukan kecocokan dengan Source URI, DCDN menggunakan Final URI yang sesuai dan berhenti memeriksa aturan selanjutnya.
Source URI: URI yang diawali garis miring (/). Tidak boleh mencakup awalan
http://atau nama domain. Mendukung ekspresi reguler PCRE.Final URI: URI yang diawali garis miring (/) dan tidak mencakup awalan http:// atau nama domain.
Parameter Actions
Operasi ini diterapkan pada parameter kueri dalam URL permintaan asli klien. Anda dapat Add, Delete, Modify, atau Reserve parameter. Hasil operasi ini ditambahkan ke kunci cache. Anda dapat mengonfigurasi beberapa operasi. DCDN menerapkannya secara berurutan dari atas ke bawah.
Add: Menambahkan parameter kueri baru ke kunci cache. Misalnya, jika URL asli adalah
http://image.example.com/cat.jpgdan Anda menambahkantype=jpg, kunci cache menjadihttp://image.example.com/cat.jpg?type=jpg.Delete: Menghapus parameter kueri tertentu dari URL asli saat menghasilkan kunci cache. Misalnya, jika URL asli adalah
http://image.example.com/cat.jpg?type=jpgdan Anda menghapus parametertype, kunci cache menjadihttp://image.example.com/cat.jpg.Modify: Memodifikasi parameter tertentu dalam URL permintaan asli saat menghasilkan kunci cache. Misalnya, jika URL asli adalah
http://image.example.com/cat.jpg?type=jpgdan Anda memodifikasi parameter menjaditype=png, kunci cache adalah.Reserve: Hanya menyimpan parameter kueri tertentu dari URL asli saat menghasilkan kunci cache. Misalnya, jika URL asli adalah
http://image.example.com/cat.jpg?type=jpg&path=imagedan Anda hanya menyimpan parametertype, kunci cache menjadihttp://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 HTTP, dipisahkan dengan spasi. DCDN menambahkan nilainya ke kunci cache secara berurutan.
Misalnya, jika URL asli adalah
http://image.example.com/cat.jpgdan klien mengirim header HTTPpath:image, serta Anda menetapkanpathdalam konfigurasi HTTP Headers, kunci cache menjadihttp://image.example.com/cat.jpgimage.Custom Variables
Gunakan ekspresi reguler untuk mencocokkan nilai dari parameter permintaan, header HTTP, cookie, atau URI dalam permintaan asli klien. Jika ekspresi reguler cocok, tambahkan nilai yang cocok ke kunci cache. Untuk detailnya, lihat Contoh Konfigurasi.
Klik OK untuk menyelesaikan konfigurasi.
Contoh Konfigurasi
URIs
Permintaan untuk http://aliyundoc.com/a/b/image.jpg dan http://aliyundoc.com/a/b/c/image.jpg merujuk ke file yang sama. Kunci cache-nya adalah http://aliyundoc.com/c/image.jpg.
Parameter Actions
Permintaan klien http://aliyundoc.com/a/b/image.jpg?delete_par=1&modify_par=1 menambahkan add_par=1, menghapus delete_par, dan memodifikasi modify_par menjadi 2. Kunci cache akhir adalah http://aliyundoc.com/a/b/image.jpg?modify_par=2&add_par=1.
Dalam operasi parameter, jika Anda menerapkan beberapa operasi pada variabel yang sama, urutan penerapannya adalah: add > delete > keep > modify.

HTTP Headers
Nilai header HTTP 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 untuk 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. Nama bidang sumber adalah Accept-Language. Pola pencocokan adalah ([%w]+),([%w]+). Ekspresi variabel adalah $1aa.
Untuk permintaan klien http://aliyundoc.com/a/b/image.jpg dengan header HTTP Accept-Language=en,ch , pola mencocokkan en dan menetapkannya ke $1. Ekspresi variabel menambahkan aa, menghasilkan nilai variabel enaa. Variabel ini, dengan alias language, kemudian ditambahkan ke URL untuk membentuk kunci cache akhir: http://aliyundoc.com/a/b/image.jpgenaa.
Dalam ekspresi variabel, $n merujuk pada konten yang dicocokkan oleh pasangan tanda kurung ke-n dalam aturan pencocokan. Misalnya, dalam Contoh 1, Accept-Language=en,ch, aturan pencocokannya adalah ([%w]+),([%w]+). Oleh karena itu, $1=en dan $2=ch.
Contoh 2
Nama variabel adalah expired. Sumbernya adalah Request Cookie. Nama bidang sumber adalah a. Aturan pencocokan adalah [%w]+:(.*). Ekspresi variabel adalah $1.
Untuk permintaan klien http://aliyundoc.com/a/b/image.jpg dengan cookie Cookie a=expired_time:12635187, pola mencocokkan 12635187 dan menetapkannya ke $1. Variabel ini, dengan alias expired, kemudian ditambahkan ke URL untuk membentuk kunci cache akhir: http://aliyundoc.com/a/b/image.jpg12635187.
Contoh 3
Konfigurasikan aturan URI dan variabel kustom sekaligus.
URI:
Cocokkan semua URI yang mengikuti pola
/abc/.*/abcdan ganti dengan/abc.
Variabel kustom:
Nama variabel adalah
testname. Sumbernya adalahPath. Pola pencocokan adalah/abc/xyz/(.*). Ekspresi variabel adalah$1.
Untuk URL permintaan klien
http://aliyundoc.com/abc/xyz/abc/image.jpg, aturan URI memodifikasi kunci cache menjadihttp://aliyundoc.com/abc/image.jpg. Aturan variabel kustom kemudian mencocokkan/abc/xyz/(.*). Dalam kasus ini,$1sama denganabc. DCDN menambahkan nilai ini ke kunci cache yang telah dimodifikasi untuk membentuk kunci cache akhir:http://aliyundoc.com/abc/image.jpgabc. Kombinasi aturan ini mendukung logika caching yang lebih kompleks.Jika tidak ada variabel kustom yang cocok, DCDN tidak menambahkan ekspresi variabel
$1ke kunci cache.