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 of 3xx
  • HTTP-aanvraagmethode is GET of HEAD
  • Ten minste een van de volgende HTTP-responsheaders is aanwezig: Cache-Control, Surrogate-Control of Expires
  • 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-ControlHTTP- 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 als Surrogate-Control HTTP response header ook aanwezig is.
  • Surrogate-ControlHTTP-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.
  • ExpiresHTTP 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.