HTML5 अनुप्रयोग कैश्च

अनुप्रयोग कैश्च का उपयोग करके, cache manifest फ़ाइल बनाकर, वेब अनुप्रयोग की ऑफ़लाइन संस्करण को आसानी से बनाया जा सकता है。

अनुप्रयोग कैश्च क्या है?

HTML5 ने अनुप्रयोग कैश्च (Application Cache) शुरू किया है, इसका मतलब है कि वेब अनुप्रयोग को कैश्च किया जा सकता है और इंटरनेट कनेक्शन के बिना भी पहुँचा जा सकता है。

अनुप्रयोग कैश्च अनुप्रयोग को तीन फायदे लाता है:

  1. ऑफ़लाइन ब्राउज़िंग - उपयोगकर्ता इसे अनुप्रयोग ऑफ़लाइन होने पर भी उपयोग कर सकता है
  2. गति - कैश्च की गई संसाधनों को तेजी से लोड होती है
  3. सर्वर भार कम करें - ब्राउज़र केवल अद्यतन या परिवर्तित संसाधनों को सर्वर से डाउनलोड करेगा

ब्राउज़र समर्थन

तालिका में दिए गए संख्याएं पूर्ण रूप से एप्लिकेशन कैश समर्थन करने वाले पहले ब्राउज़र संस्करण को संकेत करती हैं।

API
एप्लिकेशन कैश 4.0 10.0 3.5 4.0 11.5

HTML Cache Manifest उदाहरण

नीचे दिए गए उदाहरण HTML दस्तावेज़ को cache manifest के साथ दिखाया गया है (ऑफ़लाइन देखने के लिए):

उदाहरण

!DOCTYPE HTML
<html manifest="demo.appcache">
<body>
दस्तावेज़ सामग्री ......
</body>
</html>

स्वयं को प्रयोग करें

Cache Manifest बुनियाद

यदि आप एप्लिकेशन कैश चाहते हैं, तो <html> टैग में manifest गुण शामिल करें:

!DOCTYPE HTML
<html manifest="demo.appcache">
...
</html>

प्रत्येक मैनिफेस्ट से निर्दिष्ट पृष्ठ उपयोगकर्ता द्वारा आक्रमण के समय कैश में रखा जाएगा। यदि manifest गुण निर्दिष्ट नहीं किया गया है, तो पृष्ठ कैश में नहीं रखा जाएगा (अगर manifest फ़ाइल में सीधे इस पृष्ठ को निर्दिष्ट नहीं किया गया है)।

मैनिफेस्ट फ़ाइल की सिफ़ारिशी फ़ाइल एक्सटेंशन है: ".appcache"。

ध्यान:मैनिफेस्ट फ़ाइल को सही MIME-type सेट करना आवश्यक है, अर्थात "text/cache-manifest"। यह वेब सर्वर पर कॉन्फ़िगर किया जाना चाहिए।

Manifest फ़ाइल

मैनिफेस्ट फ़ाइल एक साधारण टेक्स्ट फ़ाइल है, जो ब्राउज़र को जानता है कि क्या सामग्री कैश में रखी जानी है (और क्या नहीं)।

मैनिफेस्ट फ़ाइल की तीन भाग हैं:

  • CACHE MANIFEST - इस शीर्षक के नीचे सूचीबद्ध फ़ाइलों को पहली डाउनलोड के बाद कैश में रखा जाएगा
  • NETWORK - इस शीर्षक के नीचे सूचीबद्ध फ़ाइलों को सर्वर से कनेक्शन की आवश्यकता होती है और इन्हें कैश में नहीं रखा जाता
  • FALLBACK - इस शीर्षक के नीचे सूचीबद्ध फ़ाइल जब पृष्ठ नहीं उपलब्ध होता है तो (जैसे 404 पृष्ठ) रिटर्न पृष्ठ निर्धारित करती है

CACHE MANIFEST

पहली पंक्ति, CACHE MANIFEST, आवश्यक है:

CACHE MANIFEST
/theme.css
/logo.gif
/main.js

ऊपरी मैनिफेस्ट फ़ाइल तीन संसाधनों को सूचीबद्ध करती है: एक CSS फ़ाइल, एक GIF इमेज़ और एक JavaScript फ़ाइल। जब मैनिफेस्ट फ़ाइल लोड होने के बाद, ब्राउज़र वेबसाइट के मुख्य डिरेक्ट्री से इन तीन फ़ाइलों को डाउनलोड करेगा। फिर भी, जब उपयोगकर्ता इंटरनेट से विराम कर देगा, तब भी ये संसाधन उपलब्ध रहेंगे。

NETWORK

नीति भाग के अनुसार फ़ाइल "login.php" कभी भी कैश नहीं होगी और ऑफ़लाइन होने पर इसका उपयोग नहीं किया जा सकता:

NETWORK:
login.asp

सभी अन्य संसाधन/फ़ाइलों के लिए अंतर्जाल कनेक्शन की आवश्यकता को संकेत करने के लिए स्टार (*) का उपयोग किया जा सकता है:

NETWORK:
*
FALLBACK

नीचे FALLBACK भाग में यह निर्दिष्ट किया गया है कि अंतर्जाल कनेक्शन बनाने में असफल होने पर, "/html/" डिरेक्ट्री में सभी फ़ाइलों के लिए "offline.html" का प्रयोग करना:

FALLBACK:
/html/ /offline.html

टिप्पणी:पहला URI संसाधन है, दूसरा बदले हुए स्थान है。

कैशे अद्यतन करना

जब अनुप्रयोग कैशे किया जाता है, तो यह कैशे में बने रहेगा जब तक निम्नलिखित में से कोई भी घटना नहीं होती:

  • उपयोगकर्ता ब्राउज़र कैशे को साफ़ करता है
  • manifest फ़ाइल अद्यतन की गई (नीचे के सुझाव को देखें)
  • अनुप्रयोग कैशे को कार्यक्रम द्वारा अद्यतन करना

उदाहरण - पूर्ण Cache Manifest फ़ाइल

CACHE MANIFEST
# 2012-02-21 v1.0.0
/theme.css
/logo.gif
/main.js
NETWORK:
login.asp
FALLBACK:
/html/ /offline.html

सुझाव:जो "#" से शुरू होते हैं वे टिप्पणी पंक्तियाँ हैं, लेकिन इसका अन्य प्रयोग भी किया जा सकता है।अनुप्रयोग कैशे आवश्यकता पड़े तक अद्यतन नहीं होता है, जब आप एक इमेज को संपादित करते हैं या एक JavaScript फ़ंक्शन को संशोधित करते हैं, इसके बाद भी इसके बदलाव नहीं कैशे में रखे जाते हैं।टिप्पणी पंक्तियों में तारीख और संस्करण संख्या को अद्यतन करना ब्राउज़र को फ़ाइलों को अद्यतन करने के एक तरीका है。

अनुप्रयोग कैशे के बारे में ध्यान दें

कैशे में रखी सामग्री का ध्यान दें।

जब फ़ाइल को कैशे में रखा जाता है, तो ब्राउज़र अब भी कैशे में रखी गई संस्करण को प्रदर्शित करेगा, भले ही आप सर्वर पर फ़ाइल को संशोधित कर रहे हों।ब्राउज़र को कैशे को अद्यतन करने के लिए, आपको manifest फ़ाइल को अद्यतन करना होगा。

टिप्पणी:ब्राउज़र के बारे में बाक्सिंग डेटा की क्षमता की सीमा अलग-अलग हो सकती है (कुछ ब्राउज़रों की सीमा प्रत्येक साइट के लिए 5MB है)。