जवाबों:
html5boilerplate.com में एक अच्छी तरह से टिप्पणी की गई .htaccess फ़ाइल शामिल है जिसमें कई मानक सेटिंग्स हैं जिन पर आपको विचार करना चाहिए। उनमें से सामग्री को समाप्त करने के लिए उचित सेटिंग्स हैं (समाप्ति, ई-टैग, ...)।
यहाँ mod_expires पर प्रलेखन है ।
ध्यान दें कि Last-Modified
हेडर कमजोर कैश हेडर हैं। वर्तमान प्राथमिकता Cache-Control
हेडर का उपयोग करना है ।
इस पर Google का अच्छा लेख है।
एक्सपायर और कैश-कंट्रोल: अधिकतम आयु। ये एक संसाधन के "ताजगी जीवनकाल" को निर्दिष्ट करते हैं, अर्थात्, वह समय अवधि जिसके दौरान ब्राउज़र बिना कैश किए हुए संसाधन का उपयोग करके यह देख सकता है कि क्या नया संस्करण वेब सर्वर से उपलब्ध है। वे "मजबूत कैशिंग हेडर" हैं जो बिना शर्त लागू होते हैं; वह है, जब वे सेट हो जाते हैं और संसाधन डाउनलोड हो जाता है, तो ब्राउज़र संसाधन के लिए कोई GET अनुरोध जारी नहीं करेगा, जब तक कि समाप्ति की तारीख या अधिकतम आयु पूरी नहीं हो जाती।
अंतिम-संशोधित और ETag ये उस संसाधन के बारे में कुछ विशेषता निर्दिष्ट करते हैं जो ब्राउज़र यह निर्धारित करने के लिए जांचता है कि क्या फाइलें समान हैं। लास्ट-मॉडिफाइड हेडर में, यह हमेशा एक तारीख होती है। ETag हेडर में, यह किसी भी मूल्य हो सकता है जो विशिष्ट रूप से एक संसाधन की पहचान करता है (फ़ाइल संस्करण या सामग्री हैश विशिष्ट हैं)। अंतिम-संशोधित एक "कमजोर" कैशिंग हैडर है जिसमें ब्राउज़र यह निर्धारित करने के लिए एक हेयुरिस्टिक लागू करता है कि क्या आइटम को कैश से लाना है या नहीं। (अलग-अलग ब्राउज़रों में हेयुरिस्टिक्स अलग-अलग हैं।) हालांकि, ये हेडर ब्राउज़र को कुशलतापूर्वक अपने कैश्ड संसाधनों को अपडेट करने की अनुमति देते हैं, जब सशर्त जीईटी अनुरोध जारी करके उपयोगकर्ता स्पष्ट रूप से पृष्ठ को फिर से लोड करता है। सशर्त GETs पूर्ण प्रतिक्रिया वापस नहीं करते हैं जब तक कि संसाधन सर्वर पर नहीं बदला है, और इस प्रकार पूर्ण GET की तुलना में कम विलंबता है।
मैं Cache-Control
या तो या Expires
हेडर का उपयोग करने की सलाह देता हूं क्योंकि वे मजबूत कैश हेडर हैं। कुछ सिस्टम लास्ट-मॉडिफाइड डेट्स को नजरअंदाज करेंगे।
फिर आप हेडर की जांच करने के लिए एक उपकरण curl
या http://redbot.org का उपयोग कर सकते हैं।
Last-Modified
अन्य कैशिंग निर्देशों के अभाव में हेडर का उपयोग करने से HTTP क्लाइंट तक कैश अवधि समाप्त हो जाती है। यदि किसी संसाधन को Last-Modified
तिथि के बाद से संशोधित नहीं किया गया है , तो संसाधन को नए सिरे से माना जाना चाहिए। इसके विपरीत, जब एक हेडर Expires
या Cache-Control
हेडर का उपयोग करते हुए मूल एक स्पष्ट ताजगी की अवधि निर्धारित कर सकता है।
Expires
संसाधनों के लिए एक पूरी तरह से अनुचित हेडर है जो समाप्त नहीं होता है। कुछ संसाधनों को संशोधित किया जा सकता है, लेकिन कुछ समाप्ति तिथि पर नहीं। Google का कहना है किLast-Modified
इसके लिए सशर्त GET की आवश्यकता होती है, जबकिExpires
ब्राउज़र कैश को GET को पूरी तरह से छोड़ देता है।