Pentru o cerere care trebuie să folosească un răspuns deja stocat, HTTP definește Cache-Control: only-if-cached.

Clientul îl poate trimite printr-un proxy de cache HTTP:

curl --proxy http://127.0.0.1:3128 \
  --header 'Cache-Control: only-if-cached' \
  --include http://www.example.org/report

Un cache care respectă această directivă ar trebui să returneze un răspuns stocat compatibil cu celelalte constrângeri ale cererii, sau 504 Gateway Timeout când nu o poate satisface. Aici, un 504 poate exprima politica cache-ului și nu o conexiune TCP eșuată la proxy.

Directiva nu autorizează automat conținut învechit. Prospețimea, cerințele de validare și câmpuri Vary potrivite contează în continuare. Directiva de cerere no-cache poate cere, în schimb, o validare reușită la origine înainte de reutilizare.

Aceasta diferă și de configurarea unui mod de validare offline al cache-ului. only-if-cached este purtată pe cererea individuală și exprimă ce este clientul dispus să primească.

Folosiți un cache care acceptă acest comportament. O directivă de cerere ignorată nu este un firewall, așa că prevenirea strictă a traficului de ieșire necesită o politică de rețea sau de server aplicată independent.

Un proxy HTTPS CONNECT obișnuit nu vede antetele HTTP criptate și nu păstrează obiecte de pagină din acel tunel. Exemplul folosește intenționat o resursă HTTP simplă pe care cache-ul o poate procesa.

Articole similare