only-if-cached cere proxy-ului un răspuns stocat
Cereți unui cache HTTP cooperant un răspuns existent și interpretați 504 ca o ratare, nu ca un control de ieșire la nivel de rețea.
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.