only-if-cached-ը պահված պատասխան է պահանջում պրոքսիից
Հարցրեք համագործակցող HTTP քեշից առկա պատասխանը և մեկնաբանեք 504-ը որպես բացթողում, ոչ թե ցանցային մակարդակի ելքի վերահսկում։
Այն հարցման համար, որը պետք է օգտագործի արդեն պահված պատասխան, HTTP-ը սահմանում է Cache-Control: only-if-cached։
Հաճախորդը կարող է այն ուղարկել HTTP քեշային պրոքսիի միջոցով՝
curl --proxy http://127.0.0.1:3128 \
--header 'Cache-Control: only-if-cached' \
--include http://www.example.org/report
Այս հրահանգը հարգող քեշը պետք է վերադարձնի պահված պատասխան, որը համահունչ է հարցման մյուս սահմանափակումներին, կամ 504 Gateway Timeout, երբ չի կարող բավարարել հարցումը։ Այստեղ 504-ը կարող է արտահայտել քեշի քաղաքականություն, այլ ոչ թե պրոքսիի հետ ձախողված TCP կապ։
Հրահանգը ինքնաբերաբար չի թույլատրում հնացած բովանդակություն։ Թարմությունը, վավերացման պահանջները և համապատասխան Vary դաշտեր դեռևս կարևոր են։ no-cache հարցման հրահանգը կարող է փոխարենը պահանջել հաջող վավերացում սկզբնաղբյուրում՝ նախքան կրկնակի օգտագործումը։
Սա տարբերվում է նաև քեշի անցանց վավերացման ռեժիմը կարգավորելուց։ only-if-cached-ը կրվում է առանձին հարցման վրա և արտահայտում է, թե ինչի է պատրաստ հաճախորդը ստանալ։
Օգտագործեք քեշ, որն աջակցում է այս վարքագծին։ Անտեսված հարցման հրահանգը firewall չէ, ուստի վերընթաց երթևեկության խիստ կանխարգելումը պահանջում է ինքնուրույն կիրառվող ցանցային կամ սերվերային քաղաքականություն։
Սովորական HTTPS CONNECT պրոքսի չի տեսնում գաղտնագրված HTTP վերնագրերը և չի պահում էջի օբյեկտներ այդ թունելից։ Օրինակը միտումնավոր օգտագործում է պարզ HTTP ռեսուրս, որը քեշը կարող է մշակել։