Delen via


Verlooptijd van webinhoud beheren in Azure Content Delivery Network

Belangrijk

Azure CDN Standard van Microsoft (klassiek) wordt op 30 september 2027 buiten gebruik gesteld. Om serviceonderbrekingen te voorkomen, is het belangrijk dat u uw Azure CDN Standard migreert van Microsoft-profielen (klassiek) naar de Azure Front Door Standard- of Premium-laag op 30 september 2027. Zie Azure CDN Standard van Microsoft (klassiek) buiten gebruik stellen voor meer informatie.

Azure CDN van Edgio is op 15 januari 2025 buiten gebruik gesteld. Zie Azure CDN van de veelgestelde vragen over buitengebruikstelling van Edgio voor meer informatie.

Bestanden van openbaar toegankelijke origin-webservers kunnen in de cache worden opgeslagen in Azure Content Delivery Network totdat hun time to live (TTL) is verstreken. De TTL wordt bepaald door de Cache-Control header in het HTTP-antwoord van de oorspronkelijke server. In dit artikel wordt beschreven hoe Cache-Control u headers instelt voor de functie Web Apps van Microsoft Azure-app Service, Azure Cloud Services, ASP.NET-toepassingen en IIS-sites (Internet Information Services), die allemaal op dezelfde manier zijn geconfigureerd. U kunt de Cache-Control header instellen met behulp van configuratiebestanden of programmatisch.

U kunt de cache-instellingen ook beheren vanuit Azure Portal door regels voor het opslaan van netwerkcaching van inhoud in te stellen. Als u een of meer regels voor opslaan in cache maakt en het cachegedrag instelt op Overschrijven of Overslaan van cache, worden de oorspronkelijke cache-instellingen die in dit artikel worden besproken, genegeerd. Zie Hoe caching werkt voor informatie over algemene concepten voor caching.

Tip

U kunt ervoor kiezen om geen TTL in te stellen voor een bestand. In dit geval past Azure Content Delivery Network automatisch een standaard-TTL van zeven dagen toe, tenzij u cacheregels hebt ingesteld in Azure Portal. Deze standaard-TTL is alleen van toepassing op algemene optimalisaties voor weblevering. Voor grote bestandsoptimalisaties is de standaard-TTL één dag en voor mediastreamingoptimalisaties is de standaard-TTL één jaar.

Zie Overzicht van het Azure Content Delivery Network voor meer informatie over hoe Azure Content Delivery Network werkt om de toegang tot bestanden en andere resources te versnellen.

Cachebeheerheaders instellen met behulp van regels voor netwerkcaching van inhoudslevering

De voorkeursmethode voor het instellen van de header van Cache-Control een webserver is het gebruik van regels voor caching in Azure Portal. Zie Het cachegedrag van Azure Content Delivery Network beheren met regels voor opslaan in cache voor meer informatie over regels voor het opslaan in cache van het netwerk voor inhoudslevering.

Ga naar de pagina regels voor cdn-caching:

  1. Selecteer in Azure Portal een netwerkprofiel voor contentlevering en selecteer vervolgens het eindpunt voor de webserver.

  2. Selecteer in het linkerdeelvenster onder Instellingen de optie Regels voor opslaan in cache.

    De pagina Regels voor opslaan in cache wordt weergegeven.

Ga als volgt te werk om de cachebeheerheaders van een webserver in te stellen met behulp van algemene regels voor opslaan in cache:

  1. Stel onder Algemene regels voor opslaan in cache de cache van queryreeksen in op Queryreeksen negeren en stel cachinggedrag in op Onderdrukking.

  2. Voor verloopduur van cache voert u 3600 in het vak Seconden of 1 in het vak Uren in.

    Schermopname van het voorbeeld van globale regels voor het leveren van inhoudsleveringsnetwerk.

    Deze globale cacheregel stelt een cacheduur van één uur in en is van invloed op alle aanvragen voor het eindpunt. Het overschrijft eventuele Cache-Control of Expires HTTP-headers die worden verzonden door de oorspronkelijke server die is opgegeven door het eindpunt.

  3. Selecteer Opslaan.

Ga als volgt te werk om de cachebeheerheaders van een webserverbestand in te stellen met behulp van aangepaste regels voor opslaan in cache:

  1. Maak onder Aangepaste regels voor opslaan in cache twee voorwaarden:

    1. Stel voor de eerste overeenkomstvoorwaarde de voorwaarde Overeenkomst in op Pad en voer /webfolder1/* deze in voor de waarde Overeenkomst. Stel het cachegedrag in op Overschrijving en voer 4 in het vak Dagen in.

    2. Voor de tweede overeenkomstvoorwaarde stelt u Match-voorwaarde in op Pad en voert u in /webfolder1/file1.txt voor overeenkomstwaarde. Stel cachinggedrag in op onderdrukking en voer 2 in het vak Dagen in.

    Schermopname van het voorbeeld van aangepaste regels voor het leveren van inhoud in het netwerk.

    Met de eerste aangepaste regel voor opslaan in cache wordt een cacheduur van vier dagen ingesteld voor alle bestanden in de /webfolder1 map op de oorspronkelijke server die is opgegeven door uw eindpunt. De tweede regel overschrijft alleen de eerste regel voor het file1.txt bestand en stelt een cacheduur van twee dagen voor het bestand in.

  2. Selecteer Opslaan.

Headers voor cachebeheer instellen met behulp van configuratiebestanden

Voor statische inhoud, zoals afbeeldingen en opmaakmodellen, kunt u de updatefrequentie beheren door de configuratiebestanden applicationHost.config of Web.config voor uw webtoepassing te wijzigen. Als u de Cache-Control koptekst voor uw inhoud wilt instellen, gebruikt u het <system.webServer>/<staticContent>/<clientCache> element in een van beide bestanden.

ApplicationHost.config-bestanden gebruiken

Het ApplicationHost.config-bestand is het hoofdbestand van het IIS-configuratiesysteem. De configuratie-instellingen in een ApplicationHost.config-bestand zijn van invloed op alle toepassingen op de site, maar worden overschreven door de instellingen van web.config-bestanden die bestaan voor een webtoepassing.

Web.config-bestanden gebruiken

Met een Web.config-bestand kunt u de manier aanpassen waarop uw hele webtoepassing of een specifieke map in uw webtoepassing zich gedraagt. Normaal gesproken hebt u ten minste één Web.config-bestand in de hoofdmap van uw webtoepassing. Voor elk Web.config-bestand in een specifieke map zijn de configuratie-instellingen van invloed op alles in die map en de bijbehorende submappen, tenzij ze worden overschreven op het niveau van de submap door een ander Web.config-bestand .

U kunt bijvoorbeeld een <clientCache> element instellen in een Web.config-bestand in de hoofdmap van uw webtoepassing om alle statische inhoud in uw webtoepassing drie dagen in de cache op te slaan. U kunt ook een Web.config-bestand toevoegen in een submap met meer variabele inhoud (bijvoorbeeld \frequent) en het <clientCache> element instellen om de inhoud van de submap zes uur in de cache op te slaan. Het nettoresultaat is dat inhoud op de hele website drie dagen in de cache wordt opgeslagen, met uitzondering van inhoud in de map, die slechts zes uur in de \frequent cache wordt opgeslagen.

In het volgende VOORBEELD van een XML-configuratiebestand ziet u hoe u het <clientCache> element instelt om een maximale leeftijd van drie dagen op te geven:

<configuration>
    <system.webServer>
        <staticContent>
            <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="3.00:00:00" />
        </staticContent>
    </system.webServer>
</configuration>

Als u het kenmerk cacheControlMaxAge wilt gebruiken, moet u de waarde van het kenmerk cacheControlMode instellen op UseMaxAge. Deze instelling heeft ertoe geleid dat de HTTP-header en -instructie aan Cache-Control: max-age=<nnn>het antwoord worden toegevoegd. De notatie van de tijdsperiodewaarde voor het kenmerk cacheControlMaxAge is <days>.<hours>:<min>:<sec>. De waarde wordt geconverteerd naar seconden en wordt gebruikt als de waarde van de Cache-Controlmax-age richtlijn. Zie Client Cache <clientCache> voor meer informatie over het <clientCache> element.

Cache-Control-headers programmatisch instellen

Voor ASP.NET toepassingen bepaalt u programmatisch het cachegedrag van het netwerk voor contentlevering door de eigenschap HttpResponse.Cache van de .NET-API in te stellen. Zie de eigenschap HttpResponse.Cache en httpCachePolicy-klasse voor informatie over de eigenschap HttpResponse.Cache.

Voer de volgende stappen uit om programmatisch toepassingsinhoud in ASP.NET op te cachen:

  1. Controleer of de inhoud is gemarkeerd als cachebaar door in te stellen HttpCacheability op Public.
  2. Stel een cachevalidator in door een van de volgende HttpCachePolicy methoden aan te roepen:
    • Aanroep SetLastModified om een tijdstempelwaarde in te stellen voor de Last-Modified header.
    • Aanroep SetETag om een waarde in te stellen voor de ETag koptekst.
  3. Geef desgewenst een verlooptijd voor de cache op door aan te roepen SetExpires om een waarde voor de Expires header in te stellen. Anders zijn de standaardcache-heuristieken die eerder in dit document zijn beschreven, van toepassing.

Als u bijvoorbeeld inhoud gedurende één uur in de cache wilt opslaan, voegt u de volgende C#-code toe:

// Set the caching parameters.
Response.Cache.SetExpires(DateTime.Now.AddHours(1));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.SetLastModified(DateTime.Now);

De header Cache-Control testen

U kunt eenvoudig de TTL-instellingen van uw webinhoud controleren. Test met de ontwikkelhulpprogramma's van uw browser of uw webinhoud de Cache-Control antwoordheader bevat. U kunt ook een hulpprogramma zoals wget of Fiddler gebruiken om de antwoordheaders te onderzoeken.

Volgende stappen