Anda dapat mengonfigurasi kunci cache kustom berdasarkan berbagai bagian dari permintaan HTTP, seperti URI, parameter permintaan, header permintaan HTTP, atau variabel kustom. Fitur ini mengonversi berbagai permintaan untuk file yang sama menjadi satu kunci cache tunggal, sehingga meningkatkan tingkat hit cache, mengurangi pengambilan asal, serta menurunkan waktu respons dan konsumsi bandwidth.
Catatan
-
Fitur kunci cache kustom dan fitur abaikan parameter saling bertentangan. Jika Anda telah mengonfigurasi pengabaian parameter, titik kehadiran (POPs) CDN Alibaba Cloud akan menghapus parameter yang mengikuti tanda tanya (
?) dalam URL permintaan. Hal ini membuat parameter permintaan yang dikonfigurasikan dalam kunci cache tidak tersedia. Sebelum mengaktifkan kunci cache kustom, pastikan Anda belum mengonfigurasikan pengaturan abaikan parameter. -
Fitur kunci cache kustom tidak mengubah URL pengambilan asal. Fitur ini hanya memodifikasi pengenal cache dari permintaan. Isi permintaan pengambilan asal tetap sama dengan permintaan klien.
-
Fitur pembersihan URL tidak dapat membersihkan konten yang di-cache setelah kunci cache kustom diatur.
Skenario
Fitur kunci cache kustom tidak mengubah URL pengambilan asal. Fitur ini hanya memodifikasi pengenal cache dari permintaan. Isi permintaan pengambilan asal tetap sama dengan permintaan klien.
Kunci cache adalah ID unik untuk file yang di-cache pada POP CDN. Setiap file yang di-cache memiliki kunci cache yang sesuai. Secara default, kunci cache suatu file adalah URL permintaan, termasuk parameternya.
Skenario 1
URL permintaan dapat berisi parameter yang kompleks. Bahkan jika beberapa permintaan ditujukan untuk file yang sama, parameter URL yang berbeda menyebabkan POP menganggapnya sebagai permintaan untuk file yang berbeda. Hal ini menghasilkan banyak salinan yang di-cache dan peningkatan jumlah pengambilan asal.
Anda dapat membuat aturan kunci cache kustom untuk menyatukan kunci cache untuk permintaan tersebut. Ini mengurangi jumlah pengambilan asal.
Skenario 2
Saat permintaan memiliki URL yang sama, CDN menganggapnya sebagai permintaan untuk file yang sama. Namun, Header HTTP mungkin berisi bidang klien yang membedakan antara sistem klien, yang berarti permintaan sebenarnya ditujukan untuk file yang berbeda.
Dalam kasus ini, Anda dapat membuat kunci cache kustom yang mencakup nilai dari bidang klien. Ini memungkinkan dua permintaan diidentifikasi oleh dua kunci cache yang berbeda.
Prosedur
-
Masuk ke Alibaba Cloud CDN.
-
Di panel navigasi kiri, klik Domain Names.
-
Pada halaman Domain Names, temukan nama domain yang ingin Anda kelola dan klik Manage di kolom Actions.
-
Di pohon navigasi kiri nama domain, klik Cache.
-
Pada tab Custom Cache Key, klik Configure untuk menetapkan kunci cache.
Tipe Parameter
Deskripsi
Rule Condition
Kondisi aturan dapat mengidentifikasi parameter dalam permintaan untuk menentukan apakah konfigurasi berlaku untuk permintaan tersebut.
Jangan gunakan kondisi
Jika Anda ingin menambah atau mengedit kondisi aturan, lihat Mesin Aturan.
URIs
Source URI: URI yang dimulai dengan garis miring (/). Tidak termasuk awalan `http://` atau nama domain. Ekspresi Reguler Perl Compatible (PCRE) didukung.
Final URI: URI yang dimulai dengan garis miring (/). Tidak termasuk awalan `http://` atau nama domain. URI tujuan yang ditulis ulang digunakan untuk membangun kunci cache.
Request Parameter
Objek operasi adalah parameter dalam URL permintaan asli. Anda dapat menambah, menghapus, memodifikasi, atau mempertahankan parameter. Hasilnya ditambahkan ke kunci cache.
HTTP Headers
Objek operasi adalah Header HTTP dalam permintaan asli. Anda dapat menambahkan nilai dari beberapa Header HTTP ke kunci cache.
Custom Variables
Gunakan ekspresi reguler untuk mengekstrak bidang apa pun dari parameter permintaan, Header HTTP, cookie, atau URI permintaan asli dan tambahkan ke kunci cache.

-
Klik OK.
Contoh Konfigurasi
URIs
Permintaan untuk http://aliyundoc.com/a/b/image.jpg dan http://aliyundoc.com/a/b/c/image.jpg dianggap 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 prioritas adalah: Tambah > Hapus > Pertahankan > Modifikasi.

HTTP Headers
Nilai dari User-Agent dan Accept-Language Header HTTP ditambahkan ke kunci cache. Sebagai contoh, permintaan untuk http://aliyundoc.com/a/b/image.jpg memiliki User-Agent=Mozilla/5.0 (Linux; X11) dan Accept-Language=en. 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 meminta 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, menghasilkan nilai enaa. Nilai ini, diidentifikasi oleh 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 dicocokkan oleh kelompok ke-n dalam aturan pencocokan. Misalnya, jika string adalah Accept-Language=en,ch dan aturan pencocokan adalah ([%w]+),([%w]+), maka $1=en dan $2=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 meminta http://aliyundoc.com/a/b/image.jpg dengan cookie Cookie a=expired_time:12635187. Aturan pencocokan mengekstrak nilai 12635187 dan menetapkannya ke ekspresi variabel $1, yang memiliki alias 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 meminta URL http://aliyundoc.com/abc/xyz/abc/image.jpg. Berdasarkan konfigurasi URI, URL digabungkan, dan kunci cache yang dihasilkan adalah 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 aturan pencocokan variabel kustom tidak terpenuhi, ekspresi variabel $1 tidak ditambahkan ke kunci cache.
Contoh 4
Anda dapat menetapkan kondisi aturan dan variabel kustom secara bersamaan untuk menghasilkan kunci cache yang berbeda untuk permintaan dari klien seluler dan PC.
Seluler kondisi aturan:
User-Agent berisi salah satu dari *Mobile*,*Android*,*iPhone*,*ipad*.

PC kondisi aturan:
User-Agent tidak berisi salah satu dari *Mobile*,*Android*,*iPhone*,*ipad*.

Seluler kunci cache kustom:
Tetapkan Rule Condition menjadi Seluler. Kemudian, untuk Custom Variables, tetapkan Variable Name menjadi Seluler, Source menjadi Path, Matching Rule menjadi /, dan Variable Expression menjadi +mobile.

PC kunci cache kustom:
Tetapkan Rule Condition menjadi PC. Untuk Custom Variables, tetapkan Variable Name menjadi PC, Source menjadi Path, Matching Rule menjadi /, dan Variable Expression menjadi +pc.

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