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

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

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

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

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

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