Hantera förfallodatum för webbinnehåll i Azure Content Delivery Network
Viktigt!
Azure CDN Standard från Microsoft (klassisk) dras tillbaka den 30 september 2027. För att undvika avbrott i tjänsten är det viktigt att du migrerar din Azure CDN Standard från Microsofts (klassiska) profiler till Azure Front Door Standard- eller Premium-nivån senast den 30 september 2027. Mer information finns i Azure CDN Standard från Microsoft (klassisk) tillbakadragning.
Azure CDN från Edgio dras tillbaka den 4 november 2025. Du måste migrera din arbetsbelastning till Azure Front Door före det här datumet för att undvika avbrott i tjänsten. Mer information finns i Azure CDN från vanliga frågor och svar om Edgio-pensionering.
Filer från offentligt tillgängliga ursprungswebbservrar kan cachelagras i Azure Content Delivery Network tills TTL(Time To Live) förflutit. TTL bestäms av Cache-Control
huvudet i HTTP-svaret från ursprungsservern. Den här artikeln beskriver hur du anger Cache-Control
rubriker för webappfunktionen i Microsoft Azure App Service, Azure Cloud Services, ASP.NET program och IIS-webbplatser (Internet Information Services), som alla är konfigurerade på samma sätt. Du kan ange Cache-Control
rubriken antingen med hjälp av konfigurationsfiler eller programmatiskt.
Du kan också styra cacheinställningarna från Azure Portal genom att ange cachelagringsregler för innehållsleveransnätverket. Om du skapar en eller flera cachelagringsregler och ställer in cachelagringsbeteendet på Åsidosätt eller Kringgå cacheminnet ignoreras de cachelagringsinställningar som anges i den här artikeln. Information om allmänna cachelagringsbegrepp finns i Så här fungerar cachelagring.
Dricks
Du kan välja att inte ange någon TTL för en fil. I det här fallet tillämpar Azure Content Delivery Network automatiskt en standard-TTL på sju dagar, såvida du inte har konfigurerat cachelagringsregler i Azure Portal. Denna standard-TTL gäller endast för allmänna webbleveransoptimeringar. För stora filoptimeringar är standard-TTL en dag, och för medieströmningsoptimeringar är standard-TTL ett år.
Mer information om hur Azure Content Delivery Network fungerar för att påskynda åtkomsten till filer och andra resurser finns i Översikt över Azure Content Delivery Network.
Ange cachekontrollhuvuden med hjälp av cachelagringsregler för innehållsleveransnätverk
Den bästa metoden för att ange en webbservers Cache-Control
huvud är att använda cachelagringsregler i Azure Portal. Mer information om cachelagringsregler för innehållsleveransnätverk finns i Kontrollera cachelagringsbeteendet för Azure Content Delivery Network med cachelagringsregler.
Kommentar
Cachelagringsregler är endast tillgängliga för Azure CDN Standard från Edgio-profiler . För Azure CDN Premium från Edgio-profiler måste du använda regelmotorn för Azure Content Delivery Network i Hantera portalen för liknande funktioner.
Så här navigerar du till sidan för CDN-cachelagringsregler:
I Azure Portal väljer du en nätverksprofil för innehållsleverans och väljer sedan slutpunkten för webbservern.
I det vänstra fönstret under inställningar, väljer du Cachelagringsregler.
Sidan Cachelagringsregler visas.
Så här anger du en webbservers Cache-Control-huvuden med hjälp av globala cachelagringsregler:
Under Globala cachelagringsregler anger du Beteende för cachelagring av frågesträngar till Ignorera frågesträngar och anger Cachelagringsbeteende till Åsidosättning.
För cachens giltighetstid anger du 3600 i rutan Sekunder eller 1 i rutan Timmar .
Den här globala cachelagringsregeln anger en cachevaraktighet på en timme och påverkar alla begäranden till slutpunkten. Den åsidosätter alla
Cache-Control
ELLERExpires
HTTP-huvuden som skickas av ursprungsservern som anges av slutpunkten.Välj Spara.
Så här anger du cachekontrollrubrikerna för en webbserverfil med hjälp av anpassade cachelagringsregler:
Under Anpassade cachelagringsregler skapar du två matchningsvillkor:
För det första matchningsvillkoret anger du Matcha villkor till Sökväg och anger
/webfolder1/*
för Match-värde. Ange Cachelagringsbeteende till Åsidosätt och ange 4 i rutan Dagar .För det andra matchningsvillkoret anger du Matcha villkor till Sökväg och anger
/webfolder1/file1.txt
för Match-värde. Ange Cachelagringsbeteende till Åsidosätt och ange 2 i rutan Dagar .
Den första anpassade cachelagringsregeln anger en cachevaraktighet på fyra dagar för alla filer i
/webfolder1
mappen på ursprungsservern som anges av slutpunkten. Den andra regeln åsidosätter endast denfile1.txt
första regeln för filen och anger en cachevaraktighet på två dagar för den.Välj Spara.
Ange cachekontrollhuvuden med hjälp av konfigurationsfiler
För statiskt innehåll, till exempel bilder och formatmallar, kan du styra uppdateringsfrekvensen genom att ändra konfigurationsfilerna applicationHost.config eller Web.config för webbprogrammet. Om du vill ange Cache-Control
rubriken för ditt innehåll använder du elementet <system.webServer>/<staticContent>/<clientCache>
i någon av filerna.
Använda ApplicationHost.config-filer
ApplicationHost.config-filen är rotfilen i IIS-konfigurationssystemet. Konfigurationsinställningarna i en ApplicationHost.config-fil påverkar alla program på webbplatsen, men åsidosätts av inställningarna för alla Web.config-filer som finns för ett webbprogram.
Använda Web.config-filer
Med en Web.config-fil kan du anpassa hur hela webbappen eller en specifik katalog i webbprogrammet fungerar. Normalt har du minst en Web.config-fil i rotmappen för ditt webbprogram. För varje Web.config-fil i en specifik mapp påverkar konfigurationsinställningarna allt i mappen och dess undermappar, såvida de inte åsidosätts på undermappsnivå av en annan Web.config-fil .
Du kan till exempel ange ett <clientCache>
element i en Web.config-fil i rotmappen för webbprogrammet så att allt statiskt innehåll i webbprogrammet cachelagrats i tre dagar. Du kan också lägga till en Web.config-fil i en undermapp med mer variabelt innehåll (till exempel \frequent
) och ange dess <clientCache>
element som cachelagrar undermappens innehåll i sex timmar. Nettoresultatet är att innehållet på hela webbplatsen cachelagras i tre dagar, förutom allt innehåll i katalogen, som endast cachelagras i \frequent
sex timmar.
Följande XML-konfigurationsfilexempel visar hur du ställer in elementet <clientCache>
för att ange en maximal ålder på tre dagar:
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="3.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
Om du vill använda attributet cacheControlMaxAge måste du ange värdet för attributet cacheControlMode till .UseMaxAge
Den här inställningen gjorde att HTTP-huvudet och -direktivet, Cache-Control: max-age=<nnn>
, lades till i svaret. Formatet för tidsintervallvärdet för attributet cacheControlMaxAge är <days>.<hours>:<min>:<sec>
. Dess värde konverteras till sekunder och används som värdet för Cache-Control
max-age
direktivet. Mer information om elementet finns i <clientCache>
Client Cache <clientCache>.
Ange Cache-Control-huvuden programmatiskt
För ASP.NET program styr du cachelagringsbeteendet för innehållsleveransnätverket programmatiskt genom att ange egenskapen HttpResponse.Cache för .NET-API:et. Information om egenskapen HttpResponse.Cache finns i HttpResponse.Cache-egenskapen och HttpCachePolicy-klassen.
Följ dessa steg för att programmatiskt cachelagrat programinnehåll i ASP.NET:
- Kontrollera att innehållet är markerat som cachebart genom att ange
HttpCacheability
tillPublic
. - Ange en cacheverifierare genom att anropa någon av följande
HttpCachePolicy
metoder:- Anropa
SetLastModified
för att ange ett tidsstämpelvärde förLast-Modified
rubriken. - Anropa
SetETag
för att ange ett värde förETag
rubriken.
- Anropa
- Du kan också ange en förfallotid för cachen genom att anropa
SetExpires
för att ange ett värde förExpires
huvudet. Annars gäller standardcachens heuristik som beskrivs tidigare i det här dokumentet.
Om du till exempel vill cachelagrat innehåll i en timme lägger du till följande C#-kod:
// Set the caching parameters.
Response.Cache.SetExpires(DateTime.Now.AddHours(1));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetLastModified(DateTime.Now);
Testa Cache-Control-huvudet
Du kan enkelt verifiera TTL-inställningarna för ditt webbinnehåll. Med webbläsarens utvecklarverktyg testar du att webbinnehållet Cache-Control
innehåller svarshuvudet. Du kan också använda ett verktyg som wget eller Fiddler för att undersöka svarsrubrikerna.