Wanneer worden HTTP-aanvragen/reacties in cache geplaatst?
AEM as a Cloud Service CDN plaatst alleen HTTP-reacties in cache en aan alle volgende criteria moet worden voldaan:
- De status van de HTTP-reactie is
2xx
of3xx
- HTTP-aanvraagmethode is
GET
ofHEAD
- Ten minste een van de volgende HTTP-responsheaders is aanwezig:
Cache-Control
,Surrogate-Control
ofExpires
- De HTTP-reactie kan elk inhoudstype zijn, zoals HTML, JSON, CSS, JS en binaire bestanden.
Door gebrek, hebben de reacties van HTTP niet in het voorgeheugen ondergebracht door AEM Dispatcherautomatisch om het even welke kopballen van het de reactiecache van HTTP verwijderd om caching bij CDN te vermijden. Dit gedrag kan indien nodig zorgvuldig worden overschreven met mod_headers
met de aanwijzing Header always set ...
.
Wat is in cache geplaatst?
AEM as a Cloud Service CDN slaat het volgende in cache op:
- HTTP-responsinstantie
- HTTP-antwoordheaders
Een HTTP-aanvraag/reactie voor één URL wordt doorgaans als één object in de cache opgeslagen. De CDN kan echter meerdere objecten voor één URL in cache plaatsen wanneer de header Vary
wordt ingesteld op het HTTP-antwoord. Vermijd het opgeven van Vary
op headers waarvan de waarden geen strak gecontroleerde reeks waarden hebben, aangezien dit kan leiden tot veel cachevervallen, waardoor de hit-verhouding van de cache afneemt. Om caching van variërende verzoeken bij AEM Dispatcher te steunen, herzie de variant caching documentatie.
Levensduur cache
De AEM Publish CDN is op TTL (tijd-aan-levende) gebaseerd, betekenend dat het geheim voorgeheugenleven door Cache-Control
wordt bepaald, Surrogate-Control
, of Expires
HTTP- reactiekoppen. Als de reactie van HTTP in het voorgeheugen onderbrengende kopballen niet door het project worden geplaatst, en de geschiktheidscriteriaworden voldaan, plaatst Adobe een standaardgeheim voorgeheugenleven is 10 minuten (600 seconden).
Hier is hoe de geheim voorgeheugenkopballen het CDN geheim voorgeheugenleven beïnvloeden:
Cache-Control
HTTP- antwoordkopbal instrueert Webbrowser en CDN hoe lang om de reactie in het voorgeheugen onder te brengen. De waarde is in seconden.Cache-Control: max-age=3600
geeft de webbrowser bijvoorbeeld de opdracht de reactie gedurende een uur in cache te plaatsen. Deze waarde wordt genegeerd door de CDN alsSurrogate-Control
HTTP response header ook aanwezig is.Surrogate-Control
HTTP-antwoordheader instrueert de AEM CDN hoe lang de reactie in cache moet worden geplaatst. De waarde is in seconden.Surrogate-Control: max-age=3600
geeft de CDN bijvoorbeeld de opdracht de reactie gedurende een uur in cache te plaatsen.Expires
HTTP response header instrueert de AEM CDN (en de webbrowser) hoe lang de reactie in de cache geldig is. De waarde is een datum.Expires: Sat, 16 Sept 2023 09:00:00 EST
geeft de webbrowser bijvoorbeeld de opdracht om de reactie in cache te plaatsen tot de opgegeven datum en tijd.
Gebruik Cache-Control
om de levensduur van de cache te bepalen wanneer deze hetzelfde is voor zowel de browser als de CDN. Gebruik Surrogate-Control
wanneer de webbrowser de reactie voor een andere duur in cache moet plaatsen dan de CDN.