only-if-cached begär ett lagrat svar från proxyn
Be en samarbetsvillig HTTP-cache om ett befintligt svar och tolka ett 504 som en cachemiss, inte som nätverksövergripande utgångskontroll.
För en begäran som ska använda ett redan lagrat svar definierar HTTP Cache-Control: only-if-cached.
En klient kan skicka det via en HTTP-cacheproxy:
curl --proxy http://127.0.0.1:3128 \
--header 'Cache-Control: only-if-cached' \
--include http://www.example.org/report
En cache som respekterar detta direktiv bör returnera ett lagrat svar som stämmer med begärans övriga villkor, eller 504 Gateway Timeout när den inte kan uppfylla begäran. Här kan ett 504 uttrycka cachepolicy i stället för en misslyckad TCP-anslutning till proxyn.
Direktivet tillåter inte automatiskt inaktuellt innehåll. Färskhet, valideringskrav och matchande Vary-fält spelar fortfarande roll. Begäransdirektivet no-cache kan i stället kräva lyckad validering hos ursprunget före återanvändning.
Detta skiljer sig också från att ställa in en caches offlinelägesvalidering. only-if-cached bärs på den enskilda begäran och uttrycker vad klienten är villig att ta emot.
Använd en cache som stöder beteendet. Ett ignorerat begäransdirektiv är inte en brandvägg, så strikt förhindrande av uppströms trafik kräver en oberoende tillämpad nätverks- eller serverpolicy.
En vanlig HTTPS CONNECT-proxy ser inte de krypterade HTTP-huvudena och behåller inte sidobjekt från den tunneln. Exemplet använder medvetet en enkel HTTP-resurs som cachen kan bearbeta.