Azure Content Delivery Network'te web içeriğinin süre sonunu yönetme
Genel olarak erişilebilen kaynak web sunucularındaki dosyalar, yaşam süresi (TTL) geçene kadar Azure Content Delivery Network'te önbelleğe alınabiliyor. TTL, kaynak sunucudan Cache-Control
HTTP yanıtında üst bilgi tarafından belirlenir. Bu makalede Microsoft Azure Uygulaması Hizmeti, Azure Cloud Services, ASP.NET uygulamaları ve Internet Information Services (IIS) sitelerinin Web Apps özelliği için üst bilgilerin nasıl ayarlanacağı Cache-Control
açıklanır ve bunların tümü benzer şekilde yapılandırılır. Üst bilgiyi yapılandırma dosyalarını kullanarak veya program aracılığıyla ayarlayabilirsiniz Cache-Control
.
Ayrıca, içerik teslim ağı önbelleğe alma kurallarını ayarlayarak Azure portalından önbellek ayarlarını denetleyebilirsiniz. Bir veya daha fazla önbelleğe alma kuralı oluşturur ve önbelleğe alma davranışını Geçersiz Kılma veya Atlama önbelleği olarak ayarlarsanız, bu makalede açıklanan kaynak tarafından sağlanan önbelleğe alma ayarları yoksayılır. Genel önbelleğe alma kavramları hakkında bilgi için bkz . Önbelleğe alma nasıl çalışır?
İpucu
Dosyada TTL ayarlamamayı seçebilirsiniz. Bu durumda, Azure portalda önbelleğe alma kuralları ayarlamadığınız sürece Azure Content Delivery Network otomatik olarak yedi günlük varsayılan bir TTL uygular. Bu varsayılan TTL yalnızca genel web teslimi iyileştirmeleri için geçerlidir. Büyük dosya iyileştirmeleri için varsayılan TTL bir gündür ve medya akışı iyileştirmeleri için varsayılan TTL bir yıldır.
Azure Content Delivery Network'ün dosyalara ve diğer kaynaklara erişimi hızlandırmak için nasıl çalıştığı hakkında daha fazla bilgi için bkz . Azure Content Delivery Network'e genel bakış.
İçerik teslim ağı önbelleğe alma kurallarını kullanarak Önbellek Denetimi üst bilgilerini ayarlama
Web sunucusunun Cache-Control
üst bilgisini ayarlamak için tercih edilen yöntem, Azure portalında önbelleğe alma kurallarını kullanmaktır. İçerik teslim ağı önbelleğe alma kuralları hakkında daha fazla bilgi için bkz . Önbelleğe alma kurallarıyla Azure Content Delivery Network önbelleğe alma davranışını denetleme.
Not
Önbelleğe Alma kuralları yalnızca Edgio profillerinden Azure CDN Standard. Edgio profillerinden Azure CDN Premium için, benzer işlevler için Yönet portalındaki Azure Content Delivery Network kural altyapısını kullanmanız gerekir.
CDN önbelleğe alma kuralları sayfasına gitmek için:
Azure portalında bir içerik teslim ağı profili seçin ve ardından web sunucusu için uç noktayı seçin.
Ayarların altındaki sol bölmede Önbelleğe alma kuralları’nı seçin.
Önbelleğe alma kuralları sayfası görüntülenir.
Genel önbelleğe alma kurallarını kullanarak bir web sunucusunun Cache-Control üst bilgilerini ayarlamak için:
Genel önbelleğe alma kuralları altında Sorgu dizesi önbelleğe alma davranışınıSorgu dizelerini yoksay ve Önbelleğe Alma davranışını Geçersiz Kıl olarak ayarlayın.
Önbellek süre sonu süresi için Saniye kutusuna 3600 veya Saatler kutusuna 1 girin.
Bu genel önbelleğe alma kuralı bir saatlik önbellek süresini ayarlar ve uç noktaya yönelik tüm istekleri etkiler. Uç nokta tarafından belirtilen kaynak sunucu tarafından gönderilen herhangi bir
Cache-Control
veyaExpires
HTTP üst bilgisini geçersiz kılar.Kaydet'i seçin.
Özel önbelleğe alma kurallarını kullanarak bir web sunucusu dosyasının Cache-Control üst bilgilerini ayarlamak için:
Özel önbelleğe alma kuralları altında iki eşleşme koşulu oluşturun:
İlk eşleşme koşulu için, Eşleşme koşulu'nu Yol olarak ayarlayın ve Eşleşme değeri olarak girin
/webfolder1/*
. Önbelleğe Alma davranışını Geçersiz Kıl olarak ayarlayın ve Günler kutusuna 4 girin.İkinci eşleşme koşulu için Eşleşme koşulu'nu Yol olarak ayarlayın ve Eşleşme değeri olarak girin
/webfolder1/file1.txt
. Önbelleğe Alma davranışını Geçersiz Kıl olarak ayarlayın ve Gün kutusuna 2 girin.
İlk özel önbelleğe alma kuralı, uç noktanız tarafından belirtilen kaynak sunucudaki klasördeki
/webfolder1
tüm dosyalar için dört günlük bir önbellek süresi ayarlar. İkinci kural, yalnızca dosya için ilk kuralı geçersiz kılar ve bunun içinfile1.txt
iki günlük bir önbellek süresi ayarlar.Kaydet'i seçin.
Yapılandırma dosyalarını kullanarak Önbellek Denetimi üst bilgilerini ayarlama
Resimler ve stil sayfaları gibi statik içerik için, web uygulamanız için applicationHost.config veya Web.config yapılandırma dosyalarını değiştirerek güncelleştirme sıklığını denetleyebilirsiniz. İçeriğinizin üst bilgisini ayarlamak Cache-Control
için her iki dosyadaki öğesini kullanın <system.webServer>/<staticContent>/<clientCache>
.
ApplicationHost.config dosyalarını kullanma
ApplicationHost.config dosyası, IIS yapılandırma sisteminin kök dosyasıdır. ApplicationHost.config dosyasındaki yapılandırma ayarları sitedeki tüm uygulamaları etkiler, ancak bir web uygulaması için var olan tüm Web.config dosyalarının ayarları tarafından geçersiz kılınabilir.
Web.config dosyalarını kullanma
Web.config dosyasıyla, web uygulamanızın tamamının veya web uygulamanızdaki belirli bir dizinin davranışını özelleştirebilirsiniz. Genellikle, web uygulamanızın kök klasöründe en az bir Web.config dosyanız vardır. Belirli bir klasördeki her Web.config dosyası için yapılandırma ayarları, alt klasör düzeyinde başka bir Web.config dosyası tarafından geçersiz kılınmadığı sürece bu klasördeki ve alt klasörlerindeki her şeyi etkiler.
Örneğin, web uygulamanızın kök klasöründeki bir Web.config dosyasındaki bir <clientCache>
öğeyi, web uygulamanızdaki tüm statik içeriği üç gün boyunca önbelleğe almak üzere ayarlayabilirsiniz. Ayrıca, alt klasöre daha fazla değişken içerik içeren bir Web.config dosyası ekleyebilir (örneğin, \frequent
) ve öğesini alt klasörün içeriğini altı saat önbelleğe almak üzere ayarlayabilirsiniz <clientCache>
. Net sonuç, dizindeki yalnızca altı saat boyunca önbelleğe alınan içerik dışında tüm web sitesindeki içeriğin \frequent
üç gün boyunca önbelleğe alınmış olmasıdır.
Aşağıdaki XML yapılandırma dosyası örneği, öğesinin <clientCache>
en fazla üç günlük bir yaş belirtecek şekilde nasıl ayarlandığını gösterir:
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="3.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
cacheControlMaxAge özniteliğini kullanmak için cacheControlMode özniteliğinin değerini olarak UseMaxAge
ayarlamanız gerekir. Bu ayar HTTP Cache-Control: max-age=<nnn>
üst bilgisi ve yönergesinin yanıta eklenmesine neden oldu. cacheControlMaxAge özniteliği için zaman aralığı değerinin biçimidir<days>.<hours>:<min>:<sec>
. Değeri saniyeye dönüştürülür ve yönergesinin Cache-Control
max-age
değeri olarak kullanılır. öğesi hakkında <clientCache>
daha fazla bilgi için bkz . İstemci Önbelleği <clientCache>.
Önbellek Denetimi üst bilgilerini program aracılığıyla ayarlama
ASP.NET uygulamalarda, .NET API'sinin HttpResponse.Cache özelliğini ayarlayarak içerik teslim ağı önbelleğe alma davranışını program aracılığıyla denetleyebilirsiniz. HttpResponse.Cache özelliği hakkında bilgi için bkz. HttpResponse.Cache Özelliği ve HttpCachePolicy Sınıfı.
Uygulama içeriğini ASP.NET program aracılığıyla önbelleğe almak için şu adımları izleyin:
- olarak ayarlayarak
HttpCacheability
Public
içeriğin önbelleğe alınabilir olarak işaretlendiğini doğrulayın. - Aşağıdaki
HttpCachePolicy
yöntemlerden birini çağırarak önbellek doğrulayıcı ayarlayın:- Üst bilgi için bir zaman damgası değeri ayarlamak için çağrısı
SetLastModified
.Last-Modified
- Üst bilgi için bir değer ayarlamak için çağrısı
SetETag
.ETag
- Üst bilgi için bir zaman damgası değeri ayarlamak için çağrısı
- İsteğe bağlı olarak, üst bilgi için bir değer ayarlamak üzere
Expires
arayarakSetExpires
bir önbellek süre sonu süresi belirtin. Aksi takdirde, bu belgede daha önce açıklanan varsayılan önbellek buluşsal yöntemleri geçerlidir.
Örneğin, içeriği bir saat boyunca önbelleğe almak için aşağıdaki C# kodunu ekleyin:
// Set the caching parameters.
Response.Cache.SetExpires(DateTime.Now.AddHours(1));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetLastModified(DateTime.Now);
Cache-Control üst bilgisini test etme
Web içeriğinizin TTL ayarlarını kolayca doğrulayabilirsiniz. Tarayıcınızın geliştirici araçlarıyla web içeriğinizin yanıt üst bilgisini içerip içermediğini test edin Cache-Control
. Yanıt üst bilgilerini incelemek için wget, Postman veya Fiddler gibi bir araç da kullanabilirsiniz.
Sonraki Adımlar
- clientCache öğesi hakkındaki ayrıntıları okuyun
- HttpResponse.Cache Özelliği belgelerini okuyun
- HttpCachePolicy Sınıfı belgelerini okuyun
- önbelleğe alma kavramları hakkında bilgi edinin