Na het lezen over het veld Cache-Control
van de HTTP-header,
Ik begrijp dat het veld Cache-Control
in de HTTP-responsheader (server naar client) de richtlijnen specificeert voor de tussenliggende proxyservers/clientbrowser over hoe het antwoord moet worden afgehandeld, door verschillende waarden te verzenden voor het veld Cache-Control
: private
, public
, no-cache
of no-store
in de reactiekop.
Maar ik begrijp niet waarom we Cache-Control
moeten sturen als een verzoekheader (client naar server)?
Antwoord 1, autoriteit 100%
Cache-Control: no-cache
wordt over het algemeen gebruikt in een verzoekheader (verzonden van webbrowser naar server) om validatie van de bron in de tussenliggende proxy’s af te dwingen.
Als de client dit verzoek niet naar de server stuurt, zullen tussenliggende proxy’s een kopie van de inhoud retourneren als deze vers is (niet verlopen volgens Expire
of max-age
velden). Cache-Control
geeft deze proxy’s opdracht om de kopie opnieuw te valideren, zelfs als deze vers is.
Antwoord 2, autoriteit 10%
Een client kan een Cache-Control
-header in een verzoek sturen om specifiek cachegedrag, zoals hervalidatie, aan te vragen van de oorspronkelijke server en eventuele tussenliggende proxyservers langs het verzoekpad.
p>
Antwoord 3, autoriteit 3%
In aanvulling op het bovenstaande antwoord,
Er kan een opstelling zijn waarbij cache-chaining is geïmplementeerd. In dat geval, als het verzoek naar de eerste cache komt waar niet aan wordt voldaan, kan het naar een verdere geketende cache gaan.
Dus om het antwoord altijd van de server te krijgen, nemen we cache-control op in verzoekheaders. Dit zorgt ervoor dat het antwoord altijd van de server komt.