2014-04-24 6 views
8

Effective Android HTTP में जेसी विल्सन निम्नलिखित उल्लेख किया:HTTP निश्चित संसाधनों कैशिंग हमेशा के लिए stategy

छवियों की तरह स्थिर संसाधन सर्व? एक स्थायी URL का उपयोग करें और यह कैश हमेशा के लिए

मैं प्राप्त करने में कठिनाई और कैशिंग छवियों के लिए एक विशिष्ट OkHttp उदाहरण के साथ Picasso का उपयोग कर रहा हैं। मैं सोच रहा हूं कि let it cache forever रणनीति कैसे स्थापित करें?

मैं केवल उच्चतम संभावित मूल्य के साथ HTTP कैश नियंत्रण शीर्षलेख अधिकतम-स्टेल (Cache-Control: max-stale=) को ओवरराइड करने के बारे में सोच सकता हूं, क्या कोई और बेहतर तरीका है?

उत्तर

11

आपका अधिकतम सर्वर लंबे समय तक शामिल करने के लिए कॉन्फ़िगर करना सबसे अच्छा तरीका है। उदाहरण के लिए, इस हेडर के साथ 365 दिन निर्दिष्ट करें:

Cache-Control: max-age=31536000 

आप क्लाइंट पर असीमित कैशिंग सक्षम करना चाहते हैं, तो आप एक लंबे अधिकतम-बासी उपयोग कर सकते हैं:

Cache-Control: max-stale=31536000 
+0

एक कारण यह माना जाता है है लंबे समय से बेहतर "समाप्त हो जाता है"? – Umopepisdn

+1

इसे आरएफसी 7234, HTTP कैशिंग स्पेक द्वारा पसंद किया जाता है। "अगर किसी प्रतिक्रिया में अधिकतम आयु निर्देश (धारा 5.2.2.8) के साथ कैश-कंट्रोल फ़ील्ड शामिल होता है, तो प्राप्तकर्ता को समाप्ति फ़ील्ड को अनदेखा करना होगा।" –

संबंधित मुद्दे