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:

  1. Azure portalında bir içerik teslim ağı profili seçin ve ardından web sunucusu için uç noktayı seçin.

  2. Ayarların altındaki sol bölmede Önbelleğe alma kuralları’nı seçin.

    İçerik teslim ağı önbelleğe alma kuralları düğmesinin ekran görüntüsü.

    Önbelleğe alma kuralları sayfası görüntülenir.

    İçerik teslim ağı önbelleğe alma sayfasının ekran görüntüsü.

Genel önbelleğe alma kurallarını kullanarak bir web sunucusunun Cache-Control üst bilgilerini ayarlamak için:

  1. 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.

  2. Önbellek süre sonu süresi için Saniye kutusuna 3600 veya Saatler kutusuna 1 girin.

    İçerik teslim ağı genel önbelleğe alma kuralları örneğinin ekran görüntüsü.

    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 veya Expires HTTP üst bilgisini geçersiz kılar.

  3. Kaydet'i seçin.

Özel önbelleğe alma kurallarını kullanarak bir web sunucusu dosyasının Cache-Control üst bilgilerini ayarlamak için:

  1. Özel önbelleğe alma kuralları altında iki eşleşme koşulu oluşturun:

    1. İ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.

    2. İ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.

    İçerik teslim ağı özel önbelleğe alma kuralları örneğinin ekran görüntüsü.

    İ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çin file1.txt iki günlük bir önbellek süresi ayarlar.

  2. 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 UseMaxAgeayarlamanı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-Controlmax-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:

  1. olarak ayarlayarak HttpCacheabilityPubliciçeriğin önbelleğe alınabilir olarak işaretlendiğini doğrulayın.
  2. 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
  3. İsteğe bağlı olarak, üst bilgi için bir değer ayarlamak üzere Expires arayarak SetExpires 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