ब्राउज़र कैशिंग क्या है?
ब्राउज़र कैशिंग लोडिंग समय को कम करने में मदद के लिए आपके ब्राउज़र के स्थानीय कैश में पहले से अनुरोधित फ़ाइलों को संग्रहीत करने की प्रक्रिया है। एक बार फ़ाइल को स्थानीय रूप से संग्रहीत करने के बाद, सर्वर पर कम अनुरोध भेजने की आवश्यकता होती है और डाउनलोड करने के लिए कम डेटा की आवश्यकता होती है।
कुछ घटक है कि ताकि ठीक से लाभ उठाने के लिए ब्राउज़र कैशिंग सक्षम किया जाना चाहिए रहे हैं। उदाहरण के लिए, आपको यह सुनिश्चित करना होगा कि आप ब्राउज़र कैश को यह निर्धारित करने के लिए कैश सत्यापनकर्ता निर्दिष्ट करते हैं कि फ़ाइल को स्थानीय कैश से अभी भी पुनर्प्राप्त किया जा सकता है या सर्वर पर अनुरोध किया जाना चाहिए। इसके अतिरिक्त, आपको अपनी संपत्तियों के लिए समय-समय पर समाप्त या कैश-कंट्रोल हेडर सेट करना होगा। दोनों का उपयोग अनावश्यक होगा। इसके अलावा, Gtmetrix पसंद कैश-कंट्रोल पर समाप्त हो जाता है क्योंकि यह अधिक व्यापक रूप से समर्थित है। इसलिए यह आलेख ब्राउज़र कैशिंग का लाभ उठाने के तरीके का प्रदर्शन करते समय एक्सपियर हेडर का उपयोग करने पर केंद्रित होगा।
कैश-नियंत्रण
कैश-नियंत्रण के लिए हमें अपने ब्राउज़र कैशिंग का एक सा अधिक नियंत्रण और कई लोगों को यह आसान एक बार सेटअप का उपयोग करने के लिए अनुमति देता है।
# 1 Year for most static assets
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$">
Header set Cache-Control "max-age=31536000, public"
</filesMatch>
Gzip Comporession (Magento के लिए उपयोगी वैरी)
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl|asp|html)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
अपनी वेबसाइट के फ़ाइलें आप विभिन्न समाप्ति बार सेट कर सकते हैं पर निर्भर करता है।
यदि कुछ प्रकार की फाइलें अधिक बार अपडेट की जाती हैं, तो आप उन पर पहले समाप्ति समय निर्धारित करेंगे (यानी सीएसएस फाइलें)।
अपनी .htaccess फ़ाइल खोलें। (स्मार्ट बनें: अपनी मूल .htaccess फ़ाइल की एक प्रति बनाएं, अगर आप गलती से गलती करते हैं और वापस करने की आवश्यकता है)।
अब यह अपाचे में हेडर मॉड्यूल (सेट 'ExpiresActive
' 'पर' के लिए) समय-सीमा समाप्त करने के लिए सक्षम है, तो अपनी .htaccess फाइल में जोड़ने के लिए समय आ गया है:
<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On
</IfModule>
यह उपयोगी हो सकता है एक डिफ़ॉल्ट समाप्ति की तारीख के लिए एक "डिफ़ॉल्ट निर्देश" जोड़ने के लिए है, ताकि 2 पंक्तियाँ है अब आप जोड़ देंगे:
<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault "access plus 1 month"
</IfModule>
वह आधार है। अब आप अपने फ़ाइल प्रकारों में से प्रत्येक के लिए सभी लाइनों को जोड़ने (आप जानते हैं, लोगों को, छवियों, सीएसएस आप अपनी फ़ेविकॉन के लिए पूर्व में बनाया गया और जावास्क्रिप्ट)। तुम एक कोड का टुकड़ा है कि कुछ इस तरह दिखता साथ खत्म करेंगे:
<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault "access plus 1 month"
# My favicon
ExpiresByType image/x-icon "access plus 1 year”
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS
ExpiresByType text/css "access 1 month”
# Javascript
ExpiresByType application/javascript "access plus 1 year"
</IfModule>
अब GTmetrix साथ एक और परीक्षण चलाने के लिए और परिणामों की तुलना।यह अपने परीक्षण साइट के लिए परिणाम है को लागू करने हेडर कार्यकाल समाप्ति के बाद:
अनुशंसाएँ
- सब स्थिर संसाधनों के लिए अपने कैशिंग के साथ आक्रामक हो एक माह के न्यूनतम पर
- समाप्ति की (अनुशंसित: एक्सेस प्लस 1 साल)
- अपने कैशिंग को एक वर्ष से अधिक समय पहले सेट न करें!
ब्राउज़र कैशिंग है कि आपकी वेबसाइट प्रदर्शन तेज़ हो जाएगी कैशिंग, CDN के एकीकरण (MaxCDN की तरह) की तरह कई सुविधाओं के साथ वर्डप्रेस प्लगइन
W3 Total Cache: सबसे अच्छा कैशिंग प्लगइन में से एक का उपयोग कर।
नोट
- नहीं तो फिर इसे सक्षम करने के लिए के रूप में फिर से लिखने मॉड्यूल कैशिंग कार्रवाई पूरा करने के लिए की आवश्यकता होगी अपने वेब सर्वर तकनीकी टीम से संपर्क सुनिश्चित करें कि
mod_rewrite
अपने Apache वेब सर्वर, पर सक्षम है ।
- चेतावनी! यदि आप किसी चीज़ के लिए भविष्य की समाप्ति तिथि निर्धारित करते हैं और फिर उन फ़ाइलों में से किसी एक को अपडेट करते हैं, तो ब्राउज़र को फिर से लाने के लिए आपको फ़ाइल का नाम बदलना होगा।
उदाहरण: यदि आप अपना जावास्क्रिप्ट 1 साल पर सेट करते हैं, और आप अपनी जावास्क्रिप्ट फ़ाइलों में से एक को अपडेट करते हैं, तो आपको वास्तविक फ़ाइल का नाम बदलना होगा। ऐसा करने का एक अच्छा तरीका वर्जनिंग है, यानी myfile_v1.2.js, लेकिन आसान तरीका है अपने एक्सपियर हेडर से सावधान रहना ( 10 से 10 साल का कोई अच्छा विकल्प कभी भी अच्छा विकल्प नहीं है)।
क्या आपने अपनी साइट के लिए कोई सुधार देखा है? क्या उपर्युक्त आपकी सभी फाइलों का ख्याल रखता है "लीवरेज ब्राउज़र कैशिंग" और "जोड़ें शीर्षलेख समाप्त हो जाता है"? मुझे नीचे दी गई टिप्पणियों में बताएं।
ये बाहरी फाइलें हैं, हां? आपको बाहरी '.JS',' css' और जो भी अन्य फाइलें हैं उन्हें डाउनलोड करने और उन्हें स्थानीय रूप से चलाने की आवश्यकता होगी। आप इसे 'क्रॉन' का उपयोग करके करेंगे। इस प्रश्न पर मेरा उत्तर देखें: [तृतीय पक्ष जेएस के लिए लीवरेज ब्राउज़र कैशिंग] (http://stackoverflow.com/questions/38376871/leverage-browser-caching-for-3rd-party-js/38377857#38377857) – Lag
HI @thickguru फ़ाइलों को डाउनलोड करने के लिए w/o कैसे प्राप्त करें। क्योंकि प्रदर्शन में सुधार के लिए सीडीएन का उपयोग करने का उद्देश्य। ऐसा नहीं कर सकता –
आप मुझे डर नहीं सकते। बाहरी फाइलों के साथ नहीं। यह केवल स्थानीय फाइलों के साथ काम करेगा। यही कारण है कि मैंने 'क्रॉन' का उपयोग करने का सुझाव दिया। – Lag