Tüm Ürünler
Search
Belge Merkezi

CDN:Özel önbellek anahtarı

Son Güncelleme:Oct 01, 2026

Özel önbellek anahtarı kuralları; HTTP isteğinin URI, istek parametreleri, HTTP üstbilgileri veya özel değişkenler gibi belirli kısımlarından önbellek anahtarları oluşturur. Aynı kaynak için yapılan istekleri tek bir önbellek anahtarında birleştiren bu özellik, önbellek isabet oranlarını artırır, kök sunucudan veri çekme sayısını azaltır ve yanıt süreleri ile bant genişliği tüketimini düşürür.

Özellik karşılaştırması ve seçimi

  • Özel önbellek anahtarı ile Parametreleri yoksay arasındaki çakışma: Parametre filtreleme ve özel önbellek anahtarını aynı anda yapılandırırsanız parametre filtreleme geçersiz hale gelir.

  • Özel önbellek anahtarı özelliği daha hassas kontrol sunduğundan parametre filtrelemeye göre tercih edilir. Aşağıdaki tabloda bu iki özellik karşılaştırılmaktadır.


    Kullanım senaryosu


    Parametre filtreleme


    Özel önbellek anahtarı


    Önbellek anahtarındaki tüm istek parametrelerini yoksay


    Ignore Parameters seçeneğini Yes olarak ayarlayın ve Retain Specified Parameters alanını boş bırakın.


    Bir istek parametresi kuralı ekleyin. Action değerini Reserve olarak, Parameter Name değerini ise example-argument gibi var olmayan bir parametre adı olarak belirtin.


    Önbellek anahtarında yalnızca key1 istek parametresini tut


    Ignore Parameters seçeneğini Yes olarak ayarlayın ve Retain Specified Parameters değerini key1 olarak belirtin.


    Bir istek parametresi kuralı ekleyin. Action değerini Reserve olarak, Parameter Name değerini key1 olarak belirtin.


    Önbellek anahtarından yalnızca key1 istek parametresini kaldır


    Remove Specified Parameters değerini key1 olarak belirtin.


    Bir istek parametresi kuralı ekleyin. Action değerini Delete olarak, Parameter Name değerini key1 olarak belirtin.

  • Kök sunucu parametrelerini yeniden yazma: Özel önbellek anahtarı özelliği yalnızca önbellek anahtarını değiştirir; kök sunucudan veri çekme isteği için kullanılan URL'yi değiştirmez. Kök sunucudan veri çekme isteği, istemci isteğiyle aynı kalır. Kök sunucunuza gönderilen istek parametrelerini değiştirmek için Rewrite origin parameters özelliğini kullanın.

  • Önbelleği temizleme: Özel bir önbellek anahtarı yapılandırdıktan sonra URL'ye göre temizleme görevi önbelleğe alınmış içerikle eşleşmeyebilir. Temizleme işleminin başarılı olmasını sağlamak için kurallarınız tarafından oluşturulan son önbellek anahtarını temizleme hedefi olarak kullanın.

Kullanım senaryoları

Önbellek anahtarı, CDN uç noktasında (POP) önbelleğe alınan bir dosya için benzersiz bir tanımlayıcıdır. Her önbelleğe alınmış dosyanın karşılık gelen bir önbellek anahtarı vardır. Varsayılan olarak önbellek anahtarı, parametreler dahil olmak üzere istemcinin istek URL'sidir. Özel önbellek anahtarı özelliği, kök sunucudan veri çekme işleminde kullanılan URL'yi değiştirmez; yalnızca önbellek anahtarını değiştirir. Kök sunucudan veri çekme isteği, istemcinin orijinal isteğiyle aynı kalır.

Not

CDN statik kaynakları hızlandırmak için tasarlanmıştır ve dinamik API hızlandırmayı desteklemez. Özel önbellek anahtarı özelliği, URL parametrelerini standartlaştırmak veya istemciler arasında ayrım yapmak gibi statik kaynaklar için önbellekleme stratejilerini optimize eder; dinamik API önbellekleme senaryoları için uygun değildir. Dinamik içerik hızlandırma için Edge Security Acceleration (ESA) hizmetini değerlendirebilirsiniz.

Kullanım senaryosu 1: İstekleri birleştirme

Farklı istemci isteklerinde URL genellikle farklı parametreler içerir. Birden fazla istek aynı dosyayı hedeflese bile CDN uç noktaları, farklı URL parametrelerine sahip istekleri ayrı dosyalar olarak değerlendirir. Bu durum birden fazla önbellek kopyasına ve ek kök sunucu isteğine yol açar.Consolidate requests - before

Bu istekler için önbellek anahtarını birleştirmek amacıyla özel önbellek anahtarı kurallarını kullanarak kök sunucudan veri çekme oranını düşürebilirsiniz.Consolidate requests - after

Kullanım senaryosu 2: İstekleri ayırt etme

İstemci istekleri aynı URL'yi paylaştığında CDN bunları aynı dosya için yapılan istekler olarak değerlendirir. Ancak farklı istemci sistemlerini tanımlayan HTTP üstbilgisindeki client alanına bağlı olarak farklı içerik sunmanız gerekebilir.Differentiate requests - before

Bu durumda özel bir önbellek anahtarı kuralı kullanarak client üstbilgisinin değerini önbellek anahtarına ekleyin. Böylece her istemci türü için ayrı bir önbellek anahtarı oluşturulur.Differentiate requests - after

Yordam

  1. CDN konsolu üzerinde oturum açın.

  2. Domain Names sayfasında hedef alan adını bulun ve Actions sütunundaki Manage seçeneğine tıklayın.

  3. Sol gezinme bölmesinde Cache seçeneğini belirleyin.

  4. Custom Cache Key sekmesinde aşağıdaki parametreleri ayarlamak için Create Rule seçeneğine tıklayın:

    Rule Condition

    Bir kural koşulu, bir yapılandırmanın belirli bir istek için geçerli olup olmadığını belirlemek amacıyla çeşitli parametrelere dayalı olarak istekleri tanımlar. Bir kural kural koşulu kullanıyorsa yürütme sırasını özelliğin öncelik ayarı değil, kural koşulunun önceliği belirler.

    • Do not use: Özel önbellek anahtarı, kural koşulu olmadan tüm isteklere uygulanır.

    • Kural koşulu ekleme veya düzenleme: Rules Engine içinde yönetin. Daha fazla bilgi için bkz. Rule Conditions ve Rules Engine.

    URIs

    Bir istemci isteği URI'si yapılandırmadaki Source URI ile eşleştiğinde sistem bunu yapılandırılan Final URI ile değiştirerek önbellek anahtarını oluşturur. Birden çok URI değiştirme ilkesi yapılandırabilirsiniz. İlkeler yukarıdan aşağıya doğru sırayla eşleştirilir. Bir Source URI eşleştiğinde sistem ilgili Final URI uygular ve sonraki ilkelerin eşleştirilmesini durdurur.

    • Source URI: Eğik çizgi (/) ile başlayan ve http:// ön ekini veya alan adını içermeyen bir URI. PCRE düzenli ifadeleri desteklenir.

    • Final URI: Eğik çizgi (/) ile başlayan ve http:// ön ekini veya alan adını içermeyen bir URI.

    Request Parameter

    İşlemler orijinal istek URL'sinin parametreleri üzerinde gerçekleştirilir. Add, Delete, Modify ve Reserve işlemlerini uygulayabilirsiniz. Sonuç önbellek anahtarına eklenir. Birden çok işlem yapılandırırsanız işlemler yukarıdan aşağıya doğru sırayla yürütülür.

    • Add: Önbellek anahtarına yeni bir istek parametresi ekler. Örneğin orijinal URL http://image.example.com/cat.jpg ise ve type=jpg parametresini eklerseniz önbellek anahtarı http://image.example.com/cat.jpg?type=jpg olur.

    • Delete: Önbellek anahtarı oluşturulurken belirtilen parametreyi orijinal istek URL'sinden kaldırır. Örneğin orijinal URL http://image.example.com/cat.jpg?type=jpg ise ve type parametresini silerseniz önbellek anahtarı http://image.example.com/cat.jpg olur.

    • Modify: Önbellek anahtarı oluşturulurken orijinal istek URL'sindeki belirtilen parametrenin değerini değiştirir. Örneğin orijinal URL http://image.example.com/cat.jpg?type=jpg ise ve parametreyi type=png olarak değiştirirseniz önbellek anahtarı http://image.example.com/cat.jpg?type=png olur.

    • Reserve: Önbellek anahtarı oluşturulurken orijinal istek URL'sinden yalnızca belirtilen parametreleri tutar. Diğer tüm parametreler kaldırılır. Örneğin orijinal URL http://image.example.com/cat.jpg?type=jpg&path=image ise ve type parametresini korursanız önbellek anahtarı http://image.example.com/cat.jpg?type=jpg olur.

    HTTP Headers

    İstemcinin orijinal isteğinden belirtilen HTTP üstbilgilerinin değerlerini önbellek anahtarına ekler. Birden çok üstbilgi adını boşlukla ayırarak belirtebilirsiniz. Değerler üstbilgilerin belirtilme sırasına göre eklenir. Örneğin orijinal URL http://image.example.com/cat.jpg ise ve istemci isteği path:image HTTP üstbilgisini taşıyorsa HTTP Headers alanında path belirtmek önbellek anahtarını http://image.example.com/cat.jpgimage yapar.

    Custom Variables

    Önbellekleme esnekliğini artırmak için oluşturulan önbellek anahtarına özel değişken değerleri ekler. Bir özel değişken aşağıdaki parametrelerden oluşur:

    • Variable name: Değişken için özel bir ad.

    • Source: İstemci isteğinde taşınan bir alan değeri. Aşağıdaki kaynak türleri kullanılabilir:

      • Query String Parameter: İstek URL'sindeki sorgu dizesi.

      • Request Header: İstemci isteğinde taşınan bir istek üstbilgisi.

      • Path: İstek URL'sindeki kaynak yolu.

      • Scheme: İstek URL'sinin kullandığı protokol. HTTP ve HTTPS desteklenir.

    • Source field: Yalnızca Query String Parameter, Request Header ve Request Cookie kaynak türleri için gereklidir. Aşağıdakilerden birini belirtin:

      • Sorgu dizesindeki belirtilen bir parametrenin adı.

      • Belirtilen bir istek üstbilgisinin adı.

    • Match rule: Kaynak alanı değerindeki belirli bir dizeyle eşleşen düzenli ifade.

    • Variable expression: Nihai değişken değerini oluşturur. Sabit dizeleri ve ilk parantezli grup tarafından yakalanan içeriği referans alan $1 gibi yakalama grubu referanslarını destekler.

  5. OK seçeneğine tıklayın.

Yapılandırma örnekleri

URIs

http://aliyundoc.com/a/b/image.jpg ve http://aliyundoc.com/a/b/c/image.jpg için yapılan istekler aynı dosya için yapılan istekler olarak değerlendirilir. Bu dosyanın önbellek anahtarı http://aliyundoc.com/c/image.jpg olur. Aşağıdaki URI yeniden yazma kurallarını yapılandırın: Source URI /a/b değerini Final URI /c değerine, Source URI /a/b/c değerini ise Final URI /c değerine yeniden yazın. Yeniden yazma kuralları eklemek için + Add Source URI seçeneğine, mevcut kuralları kaldırmak için Delete seçeneğine tıklayın.

Request Parameter

http://aliyundoc.com/a/b/image.jpg?delete_par=1&modify_par=1 adresine yapılan bir istemci isteği şu şekilde işlenir: add_par=1 eklenir, delete_par silinir ve modify_par değeri 2 olarak değiştirilir. Elde edilen önbellek anahtarı http://aliyundoc.com/a/b/image.jpg?modify_par=2&add_par=1 olur.

Önemli

Birden çok işlem aynı istek parametresini hedefliyorsa öncelik sırası şu şekildedir: Add > Delete > Reserve > Modify.

Delete eylemi yalnızca tek bir parametre adını destekler. Birden çok parametreyi silmek için her parametre için ayrı bir Delete kuralı eklemek üzere + Add Parameter Operation seçeneğine tıklayın.

HTTP Headers

Bir istemci isteğinden gelen User-Agent ve Accept-Language üstbilgilerinin değerleri önbellek anahtarına eklenir. Örneğin http://aliyundoc.com/a/b/image.jpg adresine yapılan bir istekte User-Agent=Mozilla/5.0 (Linux; X11) ve Accept-Language=en üstbilgileri varsa önbellek anahtarı http://aliyundoc.com/a/b/image.jpgMozilla/5.0(Linux;X11)en olur. HTTP Headers metin kutusuna User-Agent ve Accept-Language gibi dahil etmek istediğiniz istek üstbilgisi alanlarını girin.

Custom Variables

Örnek 1

Değişken adı language, kaynak Request Header, kaynak alanı Accept-Language, eşleşme kuralı ([%w]+),([%w]+) ve değişken ifadesi $1aa olsun. Özel değişkeni şu şekilde yapılandırın: Variable name değerini language olarak ayarlayın, Source olarak Request Header seçin, Source field değerini Accept-Language olarak girin, Match rule değerini ([%w]+),([%w]+) olarak girin ve Variable expression değerini $1aa olarak girin.

Bir istemci Accept-Language=en,ch HTTP üstbilgisiyle http://aliyundoc.com/a/b/image.jpg adresini ister. Eşleşme kuralı en değerini yakalar ve bunu değişken ifadesindeki $1 değerine atar. Değişken ifadesi ayrıca aa ekler; böylece language takma adına sahip değişken değeri enaa olur. Bu değer URL'ye eklenerek nihai önbellek anahtarı http://aliyundoc.com/a/b/image.jpgenaa şeklinde oluşturulur.

Not

Değişken ifadesindeki $n değeri, eşleşme kuralındaki n. parantezli grup tarafından yakalanan içeriği ifade eder. Örneğin Accept-Language=en,ch ve ([%w]+),([%w]+) eşleşme kuralı için $1=en ve $2=ch olur.

Örnek 2

Değişken adı expired, kaynak Request Cookie, kaynak alanı a, eşleşme kuralı [%w]+:(.*) ve değişken ifadesi $1 olsun. Özel değişkeni şu şekilde yapılandırın:

  • Variable name: expired

  • Source: Request Cookie

  • Source field: a

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

  • Variable expression: $1

Bir istemci Cookie a=expired_time:12635187 çereziyle http://aliyundoc.com/a/b/image.jpg adresini ister. Eşleşme kuralı 12635187 değerini yakalar ve bunu değişken ifadesindeki $1 değerine atar; takma ad expired olur. Bu değer URL'ye eklenerek nihai önbellek anahtarı http://aliyundoc.com/a/b/image.jpg12635187 şeklinde oluşturulur.

Örnek 3

Bu örnekte bir URI kuralı ile bir özel değişken birleştirilmektedir.

URI:

URI'si /abc/.*/abc ile eşleşen tüm istekleri /abc altında birleştirin. Source URI /abc/.*/abc ve Final URI /abc olur.

Custom Variables:

Değişken adı testname, kaynak Path, eşleşme kuralı /abc/xyz/(.*) ve değişken ifadesi $1 olsun. Şu şekilde yapılandırın: Variable name değerini testname olarak ayarlayın, Source değerini Path olarak belirleyin, Match rule değerini /abc/xyz/(.*) olarak ayarlayın ve Variable expression değerini $1 olarak ayarlayın.

Bir istemci http://aliyundoc.com/abc/xyz/abc/image.jpg adresini ister. URI yapılandırmasına göre önbellek anahtarı http://aliyundoc.com/abc/image.jpg olarak yeniden yazılır. Ardından özel değişken yapılandırmasına göre orijinal istek yolu /abc/xyz/(.*) ile eşleşir. Bu noktada $1 değeri abc/image.jpg olarak atanır ve önbellek anahtarına eklenir; nihai önbellek anahtarı http://aliyundoc.com/abc/image.jpgabc/image.jpg olur. Bu örnek, daha karmaşık önbellekleme mantığını uygulamak için kuralları nasıl birleştirebileceğinizi göstermektedir.

Önbellek anahtarı için bir özel değişken eşleşmezse değişken ifadesi $1 önbellek anahtarına eklenmez.

Örnek 4

Bu örnekte mobil ve PC istemcilerinden gelen istekler için farklı önbellek anahtarları oluşturmak amacıyla bir kural koşulu ile bir özel değişken birleştirilmektedir.

Mobile kural koşulu:

User-Agent üstbilgisi aşağıdaki dizelerden herhangi birini içerir: *Mobile*,*Android*,*iPhone*,*ipad*.

PC kural koşulu:

User-Agent üstbilgisi aşağıdaki dizelerden hiçbirini içermez: *Mobile*,*Android*,*iPhone*,*ipad*.

Mobile özel önbellek anahtarı:

Rule Condition için Mobile seçin. Custom Variables bölümünde Variable Name değerini Mobile, Source değerini Path, Matching Rule değerini / ve Variable Expression değerini +mobile olarak ayarlayın.

PC özel önbellek anahtarı:

Rule Condition için PC seçin. Custom Variables bölümünde Variable Name değerini PC, Source değerini Path, Matching Rule değerini / ve Variable Expression değerini +pc olarak ayarlayın.

Bir istemci http://aliyundoc.com/image.jpg adresine istek yaptığında istek User-Agent değerine göre Mobile veya PC özel önbellek anahtarı kuralıyla eşleşir. Mobil istemciler için nihai önbellek anahtarı http://aliyundoc.com/image.jpg+mobile, PC istemcileri için nihai önbellek anahtarı ise http://aliyundoc.com/image.jpg+pc olur.