Dispatcher-hostconfiguratie

Deze optie is de aanbevolen methode voor het inschakelen van caching, maar is alleen beschikbaar voor publicatie in AEM. Als u de cachekoppen wilt bijwerken, gebruikt u de instructies mod_headers module en <LocationMatch> in het hostbestand van Apache HTTP Server. De algemene syntaxis ziet er als volgt uit:

<LocationMatch "$URL$ || $URL_REGEX$">
    # Removes the response header of this name, if it exists. If there are multiple headers of the same name, all will be removed.
    Header unset Cache-Control
    Header unset Surrogate-Control
    Header unset Expires

    # Instructs the web browser and CDN to cache the response for 'max-age' value (XXX) seconds. The 'stale-while-revalidate' and 'stale-if-error' attributes controls the stale state treatment at CDN layer.
    Header set Cache-Control "max-age=XXX,stale-while-revalidate=XXX,stale-if-error=XXX"

    # Instructs the CDN to cache the response for 'max-age' value (XXX) seconds. The 'stale-while-revalidate' and 'stale-if-error' attributes controls the stale state treatment at CDN layer.
    Header set Surrogate-Control "max-age=XXX,stale-while-revalidate=XXX,stale-if-error=XXX"

    # Instructs the web browser and CDN to cache the response until the specified date and time.
    Header set Expires "Sun, 31 Dec 2023 23:59:59 GMT"
</LocationMatch>

Het volgende vat het doel van elke kopbal en toepasselijke attributen voor de kopbal samen.

WebbrowserCDNBeschrijving
CachebeheerDeze header bepaalt de webbrowser en de CDN-cache.
SurrogaatcontroleDeze header bestuurt het CDN-cache-leven.
VerlooptDeze header bepaalt de webbrowser en de CDN-cache.
  • max-age: Dit attribuut controleert TTL of "tijd om"van de reactieinhoud in seconden te leven.
  • schaal-terwijl-revalidate: Dit attribuut controleert de stapelstaat behandeling van de antwoordinhoud bij CDN laag wanneer ontvangen verzoek binnen de gespecificeerde periode in seconden is. De stapelstaat is de tijdperiode nadat TTL is verlopen en alvorens de reactie opnieuw wordt bevestigd.
  • schaal-als-fout: Dit attribuut controleert de stapelstaat behandeling van de antwoordinhoud bij CDN laag wanneer de oorsprongsserver niet beschikbaar is en ontvangen verzoek binnen de gespecificeerde periode in seconden is.

Herzie de staleness en herbevestigingdetails voor meer informatie.

Voorbeeld

Om het Webbrowser en CDN geheim voorgeheugenleven van het inhoudstype van HTML aan 10 minuten zonder de behandeling van de stapelstaat te verhogen, volg deze stappen:

  1. Zoek in uw AEM-project het gewenste vhst-bestand in de map dispatcher/src/conf.d/available_vhosts .

  2. Werk het vhost-bestand (bijvoorbeeld wknd.vhost ) als volgt bij:

    <LocationMatch "^/content/.*\.(html)$">
        # Removes the response header if present
        Header unset Cache-Control
    
        # Instructs the web browser and CDN to cache the response for max-age value (600) seconds.
        Header set Cache-Control "max-age=600"
    </LocationMatch>
    

    De gastheerdossiers in dispatcher/src/conf.d/enabled_vhosts folder zijn symlinks aan de dossiers in dispatcher/src/conf.d/available_vhosts folder, zodat zorg ervoor om tot symlinks te leiden als niet aanwezig.

  3. Stel de vhost veranderingen in het gewenste milieu van AEM as a Cloud Service op gebruikend Cloud Manager - de Pijpleiding van Config van de Rij van het Webof RDE bevelen.

Als u echter verschillende waarden wilt hebben voor de webbrowser en de levensduur van de CDN-cache, kunt u de header Surrogate-Control in het bovenstaande voorbeeld gebruiken. Op dezelfde manier kunt u de header Expires gebruiken om de cache op een bepaalde datum en tijd te laten verlopen. Met de kenmerken stale-while-revalidate en stale-if-error kunt u ook de manier bepalen waarop de status van de reactie-inhoud in de schaal wordt verwerkt. Het project van AEM WKND heeft de de staatsbehandeling van de a verwijzingssteenCDN geheim voorgeheugenconfiguratie.

Op dezelfde manier kunt u de cachekoppen ook bijwerken voor andere inhoudstypen (JSON, JS, CSS en Assets).