Azure CDN'de web içeriğinin süre sonunu yönetme

Genel olarak erişilebilen kaynak web sunucularından gelen dosyalar, yaşam süresi (TTL) geçene kadar Azure Content Delivery Network'de (CDN) önbelleğe alınabilirsiniz. TTL, kaynak sunucudan Cache-Control GELEN HTTP yanıtını üst bilgi tarafından belirlenir. Bu makalede, Microsoft Azure App Service, Azure Cloud Services, ASP.NET uygulamaları ve Internet Information Services (IIS) sitelerinin Web Apps özelliği için üst bilgileri ayarlama Cache-Control açıklanır. Üst bilgi için Cache-Control yapılandırma dosyalarını veya program aracılığıyla ayarlamanız gerekir.

Ayrıca, önbellek kurallarını ayar Azure portal önbellek ayarlarını CDN ayarlarını da kontrol edebilirsiniz. Bir veya daha fazla önbelleğe alma kuralı oluşturmanız ve bunların önbelleğe alma davranışını Önbelleği Geçersiz Kıl veya Atla olarak ayarlarsanız, bu makalede ele alınan çıkış noktası 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

Bir dosyada TTL ayarlamayı seçebilirsiniz. Bu durumda, Azure CDN kuralları ayarlamadıysanız yedi günlük varsayılan TTL'sini otomatik olarak Azure portal. 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ün ve medya akışı iyileştirmeleri için varsayılan TTL bir yıldır.

Dosya ve diğer kaynaklara erişimi Azure CDN için nasıl çalıştığını görmek için bkz. AzureContent Delivery Network.

Önbellek Cache-Control kullanarak üst CDN ayarlama

Web sunucusunun üst bilgisini ayarlamanın tercih edilen yöntemi, web sunucusunun üst Cache-Control bilgisinde önbelleğe Azure portal. Önbelleğe alma kuralları CDN daha fazla bilgi için bkz. Azure CDN kurallarıyla önbelleğe alma davranışını denetleme.

Not

Önbelleğe Alma kuralları yalnızca Verizon'dan Azure CDN Standard ve Akamai'den Azure CDN Standard profilleri için kullanılabilir. Verizon Azure CDN Premium daha fazla bilgi için, benzer işlevler için Azure CDN portalında Azure CDN kuralları altyapısını kullanabilirsiniz.

CDN önbelleğe alma kuralları sayfasına gitmek için:

  1. Hizmet Azure portal bir CDN profili seçin ve ardından web sunucusunun uç noktasını seçin.

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

    CDN kurallarını önbelleğe alma düğmesi

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

    CDN önbelleğe alma sayfası

Bir web sunucusunun genel önbelleğe alma 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 olarak ayarlayın ve Önbelleğe Alma geçersiz kıl olarak ayarlayın.

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

    CDN genel önbelleğe alma kuralları örneği

    Bu genel önbelleğe alma kuralı bir saatlik önbellek süresi ayarlar ve uç noktasına yapılan tüm istekleri etkiler. Uç nokta tarafından Cache-Control belirtilen kaynak sunucu tarafından gönderilen herhangi bir veya HTTP üst bilgilerini geçersiz Expires kılar.

  3. Kaydet’i seçin.

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

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

    a. İlk eşleşme koşulu için, Eşleşme koşulu'olarak ayarlayın ve Eşleşme /webfolder1/* değeri için değerini girin. Varsayılan Önbelleğe Alma Geçersiz Kıl olarak ayarlayın ve Gün kutusuna 4 girin.

    b. İkinci eşleşme koşulu için, Eşleşme koşulu'olarak ayarlayın ve Eşleşme /webfolder1/file1.txt değeri için değerini girin. Son Önbelleğe Alma Geçersiz Kıl olarak ayarlayın ve Gün kutusuna 2 girin.

    CDN önbelleğe alma kuralları örneği

    İlk özel önbelleğe alma kuralı, uç noktanız tarafından belirtilen kaynak sunucuda klasördeki tüm dosyalar /webfolder1 için önbellek süresini dört gün olarak ayarlar. İkinci kural yalnızca dosya için ilk kuralı geçersiz file1.txt kılar ve dosya için iki günlük önbellek süresi ayarlar.

  2. Kaydet’i seçin.

Yapılandırma Cache-Control kullanarak üst bilgileri ayarlama

Görüntüler ve stil sayfaları gibi statik içerikler için, web uygulamanıza yönelik yapılandırma dosyalarınıapplicationHost.config veya Web.config sıklığını değiştirebilirsiniz. İçeriğinizin Cache-Control üst bilgilerini ayarlamak için her iki <system.webServer>/<staticContent>/<clientCache> dosyada da öğesini kullanın.

Dosya ApplicationHost.config kullanma

Bu ApplicationHost.config, IIS yapılandırma sisteminin kök dosyasıdır. BirApplicationHost.configdosyasındaki yapılandırma ayarları sitenin tüm uygulamalarını etkiler, ancak web uygulaması için mevcut olan tüm Web.config ayarları tarafından geçersiz kılınır.

Dosya Web.config kullanma

Bir Web.config dosyasıyla, web uygulamanın tamamının veya web uygulamanıza özgü bir dizinin nasıl davranacağını özelleştirebilirsiniz. Genellikle, webWeb.config kök klasöründe en az bir dosyanız olur. Belirli Web.config klasördeki her bir dosya için yapılandırma ayarları, başka bir klasör dosyası tarafından alt klasör düzeyinde geçersiz kılınmadıkça bu klasördeki ve alt klasördeki herWeb.config etkiler.

Örneğin, web uygulamanın kök <clientCache> klasöründeki birWeb.config web uygulamanıza tüm statik içeriği üç gün boyunca önbelleğe alan bir öğe ayarlayın. Ayrıca daha fazla değişkenWeb.config (örneğin, ) bir alt klasöre bir dosya ekleyebilir ve öğesini alt klasörün içeriğini altı saat önbelleğe alan şekilde \frequent <clientCache> ayarlayın. Sonuç olarak, dizinde yer alan ve yalnızca altı saat boyunca önbelleğe alınan içerikler dışında web sitenin tamamına içerik üç gün \frequent boyunca önbelleğe alınmış olur.

Aşağıdaki XML yapılandırma dosyası örneğinde, öğenin en fazla <clientCache> üç gün yaş belirtecek şekilde nasıl ayarlanacakları 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 ayarlay UseMaxAge gerekir. Bu ayar, HTTP üst bilgisi ve Cache-Control: max-age=<nnn> yönergesi'nin yanıta eklenmesine neden oldu. cacheControlMaxAge özniteliği için zaman süresi değerinin biçimi <days>.<hours>:<min>:<sec> şeklindedir. Değeri saniyelere dönüştürülür ve yönergenin değeri olarak Cache-Control max-age kullanılır. öğesi hakkında daha fazla <clientCache> bilgi için bkz. İstemci <clientCache> Önbelleği .

Program Cache-Control üst bilgilerini ayarlama

Daha ASP.NET için, .NET API'CDN HttpResponse.Cache özelliğini ayarerek önbelleğe alma davranışını program aracılığıyla denetlemeniz gerekir. HttpResponse.Cache özelliği hakkında bilgi için bkz. HttpResponse.Cache Özelliği ve HttpCachePolicy Sınıfı.

Uygulama içeriğini program aracılığıyla önbelleğe ASP.NET için şu adımları izleyin:

  1. olarak ayararak içeriğin önbelleğe alınabilir olarak işaretlenir olduğunu HttpCacheability Public doğrulayın.
  2. Aşağıdaki yöntemlerden birini çağırarak bir önbellek HttpCachePolicy doğrulayıcı ayarlayın:
    • Üst SetLastModified bilgi için bir zaman damgası değeri ayarlamak için Last-Modified çağrısı.
    • Üst SetETag bilgi için bir değer ayarlamak için ETag çağrısı.
  3. İsteğe bağlı olarak, üst bilgi için bir değer ayarlamak SetExpires için çağrısıyla bir önbellek süre sonu Expires belirtin. Aksi takdirde, bu belgede daha önce açıklanan varsayılan önbellek heuristics geçerlidir.

Örneğin, bir saat boyunca içeriği önbelleğe eklemek 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);

Üst Cache-Control 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 bilgisi içinde olduğunu Cache-Control test edin. Yanıt üst bilgilerini incelemek için wget, Postmanveya Fiddler gibi bir araç da kullanabilirsiniz.

Sonraki Adımlar