एचटीएमएल 5 में कैश मेनिफेस्ट: Difference between revisions
No edit summary |
|||
(7 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Local cache in a web file}} | |||
{{Infobox file format | {{Infobox file format | ||
| name = | | name = | ||
Line 27: | Line 26: | ||
| url = {{URL|https://html.spec.whatwg.org/multipage/browsers.html#offline}} | | url = {{URL|https://html.spec.whatwg.org/multipage/browsers.html#offline}} | ||
}} | }} | ||
''' | '''एचटीएमएल5 में कैश मेनिफेस्ट''' एक सॉफ्टवेयर स्टोरेज सुविधा थी जो नेटवर्क संयोजन के बिना भी [[वेब अनुप्रयोग]] तक पहुंचने की क्षमता प्रदान करती थी। यह 28 अक्टूबर 2014 को [[W3C]] अनुशंसा का अंग बन गया।<ref>{{cite web |url=https://www.w3.org/TR/html5/browsers.html#appcache|title=Application cache as part of the W3C Recommendation|date=28 October 2014|accessdate=30 May 2016}}</ref> | ||
2021 से, यह तकनीक अब व्यापक रूप से उपलब्ध नहीं है। इसे फ़ायरफ़ॉक्स 85 से हटा दिया गया था,<ref>{{Cite web|title=Using the application cache - HTML: HyperText Markup Language {{!}} MDN|url=https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache#browser_compatibility|access-date=2021-04-11|website=developer.mozilla.org|archive-date=2019-02-15|archive-url=https://web.archive.org/web/20190215171256/https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache#browser_compatibility|url-status=dead}}</ref> और क्रोम 84 में डिफ़ॉल्ट रूप से अक्षम कर दिया गया था और क्रोम 95 में हटा दिया गया था।<ref>{{Cite web|title=AppCache हटाने की तैयारी की जा रही है|url=https://web.dev/appcache-removal/|url-status=live|access-date=2021-09-02|website=web.dev|language=en|archive-url=https://web.archive.org/web/20200520204734/https://web.dev/appcache-removal/ |archive-date=2020-05-20 }}</ref> इस समय किसी भी ऑफ़लाइन वेब एप्लिकेशन सुविधाओं का उपयोग करने की अत्यधिक अनुशंसा नहीं की जाती है और इसके अतिरिक्त सेवा कर्मियों के उपयोग की अनुशंसा की जाती है।<ref>{{cite web|url=https://developer.mozilla.org/en-US/docs/Web/API/Window/applicationCache|title=विंडो.एप्लिकेशन कैश|work=MDN Web Docs|publisher=Mozilla|access-date=2020-12-29}}</ref> कैश मैनिफ़ेस्ट [[वेब एप्लिकेशन मेनिफेस्ट]] से भिन्न होते हैं, एक JSON-आधारित फ़ाइल स्वरूप जो [[प्रगतिशील वेब ऐप]] तकनीक का हिस्सा है, और 2023 तक वर्तमान में सक्रिय है और W3C पर मानकीकरण प्रक्रिया से निकलता है।<ref>{{Cite web |title=वेब एप्लिकेशन मेनिफेस्ट|url=https://www.w3.org/TR/appmanifest/Overview.html |access-date=2023-04-09 |website=www.w3.org}}</ref> | 2021 से, यह तकनीक अब व्यापक रूप से उपलब्ध नहीं है। इसे फ़ायरफ़ॉक्स 85 से हटा दिया गया था,<ref>{{Cite web|title=Using the application cache - HTML: HyperText Markup Language {{!}} MDN|url=https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache#browser_compatibility|access-date=2021-04-11|website=developer.mozilla.org|archive-date=2019-02-15|archive-url=https://web.archive.org/web/20190215171256/https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache#browser_compatibility|url-status=dead}}</ref> और क्रोम 84 में डिफ़ॉल्ट रूप से अक्षम कर दिया गया था और क्रोम 95 में हटा दिया गया था।<ref>{{Cite web|title=AppCache हटाने की तैयारी की जा रही है|url=https://web.dev/appcache-removal/|url-status=live|access-date=2021-09-02|website=web.dev|language=en|archive-url=https://web.archive.org/web/20200520204734/https://web.dev/appcache-removal/ |archive-date=2020-05-20 }}</ref> इस समय किसी भी ऑफ़लाइन वेब एप्लिकेशन सुविधाओं का उपयोग करने की अत्यधिक अनुशंसा नहीं की जाती है और इसके अतिरिक्त सेवा कर्मियों के उपयोग की अनुशंसा की जाती है।<ref>{{cite web|url=https://developer.mozilla.org/en-US/docs/Web/API/Window/applicationCache|title=विंडो.एप्लिकेशन कैश|work=MDN Web Docs|publisher=Mozilla|access-date=2020-12-29}}</ref> कैश मैनिफ़ेस्ट [[वेब एप्लिकेशन मेनिफेस्ट]] से भिन्न होते हैं, एक JSON-आधारित फ़ाइल स्वरूप जो [[प्रगतिशील वेब ऐप]] तकनीक का हिस्सा है, और 2023 तक वर्तमान में सक्रिय है और W3C पर मानकीकरण प्रक्रिया से निकलता है।<ref>{{Cite web |title=वेब एप्लिकेशन मेनिफेस्ट|url=https://www.w3.org/TR/appmanifest/Overview.html |access-date=2023-04-09 |website=www.w3.org}}</ref> | ||
==पृष्ठभूमि== | ==पृष्ठभूमि== | ||
वेब एप्लिकेशन में वे वेब पेज सम्मलित होते हैं हैं जिन्हें नेटवर्क से डाउनलोड करने की आवश्यकता होती है। ऐसा होने के लिए नेटवर्क कनेक्शन होना चाहिए। चूँकि , ऐसे कई उदाहरण हैं जब उपयोगकर्ता अपने नियंत्रण से परे परिस्थितियों के कारण नेटवर्क से संयोजित नहीं हो पाते हैं। [[HTML]]5 वेब [[कैश]] मेनिफेस्ट का उपयोग करके नेटवर्क कनेक्शन के बिना भी वेब एप्लिकेशन तक पहुंचने की क्षमता प्रदान करता है। | वेब एप्लिकेशन में वे वेब पेज सम्मलित होते हैं हैं जिन्हें नेटवर्क से डाउनलोड करने की आवश्यकता होती है। ऐसा होने के लिए नेटवर्क कनेक्शन होना चाहिए। चूँकि , ऐसे कई उदाहरण हैं जब उपयोगकर्ता अपने नियंत्रण से परे परिस्थितियों के कारण नेटवर्क से संयोजित नहीं हो पाते हैं। [[HTML|एचटीएमएल]]5 वेब [[कैश]] मेनिफेस्ट का उपयोग करके नेटवर्क कनेक्शन के बिना भी वेब एप्लिकेशन तक पहुंचने की क्षमता प्रदान करता है। | ||
वेब अनुप्रयोगों में URLs ([[यूनिफ़ॉर्म रिसोर्स लोकेटर|यूनिफ़ॉर्म रिसोर्स लोकेटर)]] द्वारा पहचाने गए संसाधन सम्मलित होते हैं। ये | वेब अनुप्रयोगों में URLs ([[यूनिफ़ॉर्म रिसोर्स लोकेटर|यूनिफ़ॉर्म रिसोर्स लोकेटर)]] द्वारा पहचाने गए संसाधन सम्मलित होते हैं। ये एचटीएमएल, CSS ([[ व्यापक शैली पत्रक |व्यापक शैली पत्रक)]], [[जावास्क्रिप्ट]], छवियां या कोई अन्य स्रोत हो सकते हैं जो वेब एप्लिकेशन को प्रस्तुत करने के लिए आवश्यक होते हैं। उनके पतों को एक को एक [[प्रकट फ़ाइल|मेनिफेस्ट फ़ाइल]] में कॉपी किया जा सकता है, जिसे वेब एप्लिकेशन के लेखक द्वारा नियमित रूप से अपडेट किया जा सकता है, जो जोड़े या हटाए गए किसी भी नए वेब पते को इंगित करता है। पहली बार किसी नेटवर्क से कनेक्ट होने पर, एक वेब ब्राउज़र एचटीएमएल5 मेनिफेस्ट फ़ाइल को पढ़कर, दिए गए संसाधनों को डाउनलोड करेगा और उन्हें स्थानीय रूप से संग्रहीत करत है। फिर, नेटवर्क कनेक्शन की अनुपस्थिति में, वेब ब्राउज़र स्थानीय प्रतियों पर स्थानांतरित हो जाएगा और वेब एप्लिकेशन को ऑफ़लाइन प्रस्तुत करेगा। | ||
== मूल बातें == | == मूल बातें == | ||
ऑफ़लाइन एप्लिकेशन को काम करने के लिए, वेब डेवलपर द्वारा एक कैश मेनिफेस्ट फ़ाइल बनाई जानी चाहिए। यदि वेब एप्लिकेशन एक से अधिक पेज से अधिक है तो प्रत्येक पेज में एक मेनिफेस्ट विशेषता होनी चाहिए जो कैश मेनिफेस्ट को इंगित करती है। मेनिफेस्ट को संदर्भित करने वाला प्रत्येक पृष्ठ स्थानीय रूप से संग्रहीत किया जाएगा।<ref>{{cite web |url=http://www.html5rocks.com/en/tutorials/appcache/beginner/|title=एप्लिकेशन कैश का उपयोग करने के लिए एक शुरुआती मार्गदर्शिका|last1=Bidelman|first1=Eric|date=29 October 2013|accessdate=23 April 2014}}</ref> कैश मेनिफेस्ट फ़ाइल सर्वर के दूसरे भाग में स्थित एक टेक्स्ट फ़ाइल होती है। इसे सामग्री प्रकार के साथ प्रस्तुत किया जाना चाहिए <code>text/cache-manifest</code><ref name="main">{{cite book|last=Pilgrim|first=Mark|title=HTML5 Up and Running|year=2010|publisher=O'Reilley|url=http://diveintohtml5.org|access-date=2018-11-16|archive-url=https://web.archive.org/web/20111003230854/http://www.diveintohtml5.org/#|archive-date=2011-10-03|url-status=dead}}</ref> | ऑफ़लाइन एप्लिकेशन को काम करने के लिए, वेब डेवलपर द्वारा एक कैश मेनिफेस्ट फ़ाइल बनाई जानी चाहिए। यदि वेब एप्लिकेशन एक से अधिक पेज से अधिक है तो प्रत्येक पेज में एक मेनिफेस्ट विशेषता होनी चाहिए जो कैश मेनिफेस्ट को इंगित करती है। मेनिफेस्ट को संदर्भित करने वाला प्रत्येक पृष्ठ स्थानीय रूप से संग्रहीत किया जाएगा।<ref>{{cite web |url=http://www.html5rocks.com/en/tutorials/appcache/beginner/|title=एप्लिकेशन कैश का उपयोग करने के लिए एक शुरुआती मार्गदर्शिका|last1=Bidelman|first1=Eric|date=29 October 2013|accessdate=23 April 2014}}</ref> कैश मेनिफेस्ट फ़ाइल सर्वर के दूसरे भाग में स्थित एक टेक्स्ट फ़ाइल होती है। इसे सामग्री प्रकार के साथ प्रस्तुत किया जाना चाहिए <code>text/cache-manifest</code><ref name="main">{{cite book|last=Pilgrim|first=Mark|title=HTML5 Up and Running|year=2010|publisher=O'Reilley|url=http://diveintohtml5.org|access-date=2018-11-16|archive-url=https://web.archive.org/web/20111003230854/http://www.diveintohtml5.org/#|archive-date=2011-10-03|url-status=dead}}</ref> | ||
विशेषता <code>manifest="<path>"</code> कैश मेनिफेस्ट फ़ाइल को काम करने के लिए | विशेषता <code>manifest="<path>"</code> कैश मेनिफेस्ट फ़ाइल को काम करने के लिए एचटीएमएल तत्व में जोड़ा जाना चाहिए।<ref name="main" /> | ||
उदाहरण: | उदाहरण: | ||
Line 51: | Line 50: | ||
मेनिफेस्ट विशेषता का तर्क मेनिफेस्ट फ़ाइल का एक सापेक्ष या निरपेक्ष पथ होता है। | मेनिफेस्ट विशेषता का तर्क मेनिफेस्ट फ़ाइल का एक सापेक्ष या निरपेक्ष पथ होता है। | ||
नीचे दी गई | नीचे दी गई एचटीएमएल फ़ाइल पर विचार करें। <एचटीएमएल> तत्व इंगित करता है कि ''cache.appcache'' नामक फ़ाइल में इस वेब पेज के ऑफ़लाइन काम करने के लिए आवश्यक संसाधनों (जैसे, test.js, test.css) की सूची होती है। इस फ़ाइल के सामान्य नाम cache.manifest और manifest.appcache हैं। | ||
<syntaxhighlight lang="html"> | <syntaxhighlight lang="html"> | ||
<!—- test.html --> | <!—- test.html --> | ||
Line 67: | Line 66: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== सिंटेक्स == | == सिंटेक्स == | ||
मेनिफेस्ट फ़ाइल लाइन से | मेनिफेस्ट फ़ाइल लाइन से प्रारंभ होनी चाहिए <code>CACHE MANIFEST</code>. टिप्पणियाँ टिप्पणियाँ # से प्रारंभ होती हैं <code>#</code>, रिक्त स्थान और रिक्त पंक्तियों को उपेक्षित कर दिया जाता है।<ref name="W3">{{cite web|title=W3 HTML5 Manifests|url=http://dev.w3.org/html5/pf-summary/offline.html#manifests|work=HTML5|accessdate=3 April 2011|archive-date=24 December 2010|archive-url=https://web.archive.org/web/20101224143759/http://dev.w3.org/html5/pf-summary/offline.html#manifests|url-status=dead}}</ref> नीचे कैश मेनिफेस्ट फ़ाइल का एक उदाहरण दिया गया है। | ||
उदाहरण 1: | उदाहरण 1: | ||
CACHE MANIFEST | |||
/test.css | /test.css | ||
/test.js | /test.js | ||
/test.png | /test.png | ||
यह मेनिफेस्ट फ़ाइल तीन संसाधनों को सूचीबद्ध करती है: एक CSS फ़ाइल, एक जावास्क्रिप्ट फ़ाइल और एक PNG छवि होती है। जब उपरोक्त फ़ाइल लोड की जाती है, तो ब्राउज़र वेब सर्वर में मूल निर्देशिका से test.css, test.js और test.png फ़ाइलें डाउनलोड करता है।<ref name="main" />परिणामस्वरूप, जब भी किसी का नेटवर्क कनेक्ट नहीं होगा, तो संसाधन उन्हें ऑफ़लाइन उपलब्ध होते है। | |||
जैसा कि नीचे दिखाया गया है, कैश मेनिफेस्ट सापेक्ष पथ या यहां तक कि पूर्ण URLs का भी उपयोग कर सकते हैं।<ref name="W3" /><ref name="Dev">{{cite web|title=देव.ओपेरा|url=http://dev.opera.com/articles/view/offline-applications-html5-appcache/|work=HTML5|accessdate=3 April 2011}}</ref><ref>{{cite web|title=क्या?|url=http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#offline|work=HTML5|accessdate=3 April 2011|archive-date=14 April 2011|archive-url=https://web.archive.org/web/20110414115025/http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#offline|url-status=dead}}</ref> | |||
उदाहरण 2: | उदाहरण 2: | ||
CACHE MANIFEST | |||
/main/features.js | /main/features.js | ||
/main/settings/index.css | /main/settings/index.css | ||
<nowiki>http://files/images/scene.jpg | |||
<nowiki>http://files/images/world.jpg | |||
== फ़ाइल | == फ़ाइल शीर्षलेख == | ||
कैश मेनिफेस्ट फ़ाइल में तीन | कैश मेनिफेस्ट फ़ाइल में तीन सेक्शन हेडर होते हैं।<ref name="main" /> | ||
# CACHE हेडर के साथ स्पष्ट | # CACHE हेडर के साथ स्पष्ट अनुभाग। | ||
# नेटवर्क | # हेडर नेटवर्क के साथ ऑनलाइन श्वेतसूची अनुभाग। | ||
# फ़ॉलबैक हेडर फ़ॉलबैक के साथ फ़ॉलबैक अनुभाग। | # फ़ॉलबैक हेडर फ़ॉलबैक के साथ फ़ॉलबैक अनुभाग। | ||
Line 97: | Line 97: | ||
उदाहरण 3: | उदाहरण 3: | ||
CACHE MANIFEST | |||
NETWORK: | |||
/checking.cgi | /checking.cgi | ||
CACHE: | |||
/test.css | /test.css | ||
/test.js | /test.js | ||
Line 107: | Line 107: | ||
इस उदाहरण में हेडर सम्मलित हैं. लाइन, नेटवर्क: ऑनलाइन श्वेतसूची अनुभाग की शुरुआत है। इस अनुभाग के अंतर्गत सूचीबद्ध संसाधन कभी भी कैश्ड नहीं होते हैं और ऑफ़लाइन उपलब्ध नहीं होते हैं।<ref name="main" />परिणामस्वरूप, जब संसाधन को ऑफ़लाइन लोड करने का प्रयास किया जाएगा तो एक त्रुटि उत्पन्न होगी। | इस उदाहरण में हेडर सम्मलित हैं. लाइन, नेटवर्क: ऑनलाइन श्वेतसूची अनुभाग की शुरुआत है। इस अनुभाग के अंतर्गत सूचीबद्ध संसाधन कभी भी कैश्ड नहीं होते हैं और ऑफ़लाइन उपलब्ध नहीं होते हैं।<ref name="main" />परिणामस्वरूप, जब संसाधन को ऑफ़लाइन लोड करने का प्रयास किया जाएगा तो एक त्रुटि उत्पन्न होगी। | ||
हेडर कैश द्वारा स्पष्ट अनुभाग में बदलाव किया गया है: और संसाधनों ( | हेडर कैश द्वारा स्पष्ट अनुभाग में बदलाव किया गया है: और संसाधनों (CSS स्टाइलशीट, जावास्क्रिप्ट और छवि फ़ाइल) को ऑफ़लाइन डाउनलोड और उपयोग किया जा सकता है। | ||
=== हेडर FALLBACK के साथ फ़ॉलबैक अनुभाग === | === हेडर FALLBACK के साथ फ़ॉलबैक अनुभाग === | ||
कैश | कैश मेनिफेस्ट फ़ाइल में फ़ॉलबैक अनुभाग का उपयोग उन ऑनलाइन संसाधनों को प्रतिस्थापित करने के लिए किया जा सकता है जिन्हें कैश नहीं किया जा सकता है या सफलतापूर्वक कैश नहीं किया गया है।<ref name="main" /> | ||
उदाहरण 4: | उदाहरण 4: | ||
CACHE MANIFEST | |||
FALLBACK: | |||
/ / | / /offline.एचटीएमएल | ||
NETWORK: | |||
… | … | ||
उदाहरण 4 में, फ़ॉलबैक अनुभाग में एक पंक्ति होती है। | उदाहरण 4 में, फ़ॉलबैक अनुभाग में एक पंक्ति होती है। अर्थात, i.e., ''/ /offline.एचटीएमएल''. 'ऑफ़लाइन' से पहले एकल वर्ण (''/'') किसी की साइट पर किसी भी URL पैटर्न से मिलान करता है।<ref name="main" /> यदि ब्राउज़र को ऐप कैश में पेज नहीं मिलता है, तो एप्लिकेशन /offline.एचटीएमएल. पेज प्रदर्शित करता है। | ||
== घटना प्रवाह == | == घटना प्रवाह == | ||
घटना <code>ApplicationCache</code> जावास्क्रिप्ट ऑब्जेक्ट के अंतर्गत होते है। | |||
यदि ब्राउज़र किसी वेब पेज पर जाता है, पहले वेब पेज नहीं देखा है और परिणामस्वरूप मेनिफेस्ट फ़ाइल को नहीं पहचानता है, तो निम्नलिखित घटनाएं घटित | यदि ब्राउज़र किसी वेब पेज पर जाता है, पहले वेब पेज नहीं देखा है और परिणामस्वरूप मेनिफेस्ट फ़ाइल को नहीं पहचानता है, तो निम्नलिखित घटनाएं घटित होती है ।<ref name="W3" /> | ||
* <code>Checking</code> घटना - तब होती है जब ब्राउज़र किसी वेब पेज पर जाता है और < | * <code>Checking</code> घटना - तब होती है जब ब्राउज़र किसी वेब पेज पर जाता है और <एचटीएमएल> तत्व पर मेनिफेस्ट विशेषता पढ़ता है। | ||
* <code>Downloading</code> | * <code>Downloading</code> घटना - यह मेनिफेस्ट फ़ाइल में दिए गए सभी संसाधनों को डाउनलोड करता है । | ||
* <code>Progress</code> | * <code>Progress</code> घटना - इसमें यह जानकारी होती है कि कितनी फ़ाइलें डाउनलोड की गई हैं और कितनी फ़ाइलें डाउनलोड की जाती हैं। | ||
* <code>Cached</code> घटना - तब | * <code>Cached</code> घटना - तब होता है जब सभी फ़ाइलें डाउनलोड हो जाती हैं और ऑफ़लाइन वेब एप्लिकेशन ऑफ़लाइन उपयोग के लिए सुसज्जित हो जाता है। | ||
यदि ब्राउज़र पहले वेब पेज पर गया है और मेनिफेस्ट फ़ाइल को पहचानता है तो निम्नलिखित घटनाएं घटित | यदि ब्राउज़र पहले वेब पेज पर गया है और मेनिफेस्ट फ़ाइल को पहचानता है तो निम्नलिखित घटनाएं घटित होती है।<ref name="W3" /> | ||
* <code>Noupdate</code> घटना - यह तब घटित होगा जब कैश मेनिफ़ेस्ट नहीं बदला गया हो। | * <code>Noupdate</code> घटना - यह तब घटित होगा जब कैश मेनिफ़ेस्ट नहीं बदला गया हो। | ||
* <code>Downloading</code> घटना - यदि कैश मेनिफेस्ट ने संसाधनों को बदल दिया है तो फ़ाइलें फिर से डाउनलोड की जाएंगी। | * <code>Downloading</code> घटना - यदि कैश मेनिफेस्ट ने संसाधनों को बदल दिया है तो फ़ाइलें फिर से डाउनलोड की जाएंगी। | ||
* <code>Progress</code> | * <code>Progress</code> घटना - इसमें यह जानकारी होती है कि कितनी फ़ाइलें डाउनलोड हो चुकी हैं और कितनी फ़ाइलें डाउनलोड होनी बाकी हैं। | ||
* <code>Updateready</code> | * <code>Updateready</code> घटना - पुनः डाउनलोडिंग पूरी होने के बाद, यह घटना ट्रिगर हो जाता है, जो दर्शाता है कि नया ऑफ़लाइन संस्करण उपयोग के लिए तैयार होता है। | ||
यदि उपरोक्त घटनाओं में किसी भी समय कोई त्रुटि होती है, तो ब्राउज़र एक त्रुटि घटना को ट्रिगर करेगा और प्रक्रिया को रोक देगा। नीचे कुछ त्रुटियाँ दी गई हैं जो संसाधनों को दोबारा डाउनलोड करते समय हो सकती हैं।<ref name="Dev" /> | यदि उपरोक्त घटनाओं में किसी भी समय कोई त्रुटि होती है, तो ब्राउज़र एक त्रुटि घटना को ट्रिगर करेगा और प्रक्रिया को रोक देगा। नीचे कुछ त्रुटियाँ दी गई हैं जो संसाधनों को दोबारा डाउनलोड करते समय हो सकती हैं।<ref name="Dev" /> | ||
* पृष्ठ नहीं मिला ([[HTTP 404]]) या पृष्ठ स्थायी रूप से चला गया (HTTP त्रुटि 410)। | * पृष्ठ नहीं मिला ([[HTTP 404]]) या पृष्ठ स्थायी रूप से चला गया (HTTP त्रुटि 410)। | ||
* मैनिफ़ेस्ट की ओर इंगित करने वाले | * मैनिफ़ेस्ट की ओर इंगित करने वाले एचटीएमएल पृष्ठ को डाउनलोड करने में विफलता।<ref name="main" /> | ||
*अद्यतन होने के समय कैश मेनिफ़ेस्ट बदल गया।<ref name="main" />* कैश मेनिफ़ेस्ट बदल दिया गया था लेकिन ब्राउज़र ने मेनिफ़ेस्ट में कोई संसाधन डाउनलोड नहीं किया जाता है ।<ref name="main" /> | |||
== यह भी देखें == | == यह भी देखें == | ||
* एचटीएमएल5 | * एचटीएमएल5 | ||
Line 153: | Line 152: | ||
==बाहरी संबंध== | ==बाहरी संबंध== | ||
* [https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache Using the application cache - | * [https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache Using the application cache - एचटीएमएल | MDN] {{Webarchive|url=https://web.archive.org/web/20190215171256/https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache |date=2019-02-15 }} | ||
* [https://web.archive.org/web/20111107205159/http://www.webreference.com/authoring/languages/html/HTML5-Application-Caching/ | * [https://web.archive.org/web/20111107205159/http://www.webreference.com/authoring/languages/html/HTML5-Application-Caching/ एचटीएमएल5: Offline Application Caching] | ||
* [https://www.html5rocks.com/tutorials/appcache/beginner/ | * [https://www.html5rocks.com/tutorials/appcache/beginner/ एचटीएमएल5 Rocks] | ||
* [https://alistapart.com/article/application-cache-is-a-douchebag Alistapart: Application Cache] | * [https://alistapart.com/article/application-cache-is-a-douchebag Alistapart: Application Cache] | ||
[[Category: | [[Category:CS1 English-language sources (en)]] | ||
[[Category:Created On 07/07/2023]] | [[Category:Created On 07/07/2023]] | ||
[[Category:Lua-based templates]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:Templates that add a tracking category]] | |||
[[Category:Templates that generate short descriptions]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:Webarchive template wayback links]] | |||
[[Category:आप बोर हो जायेंगे]] | |||
[[Category:कैश (कंप्यूटिंग)]] |
Latest revision as of 17:03, 28 July 2023
Filename extension |
.appcache |
---|---|
Internet media type |
text/cache-manifest |
Developed by | World Wide Web Consortium |
Standard | HTML5 |
Open format? | Yes |
Website | html |
एचटीएमएल5 में कैश मेनिफेस्ट एक सॉफ्टवेयर स्टोरेज सुविधा थी जो नेटवर्क संयोजन के बिना भी वेब अनुप्रयोग तक पहुंचने की क्षमता प्रदान करती थी। यह 28 अक्टूबर 2014 को W3C अनुशंसा का अंग बन गया।[1]
2021 से, यह तकनीक अब व्यापक रूप से उपलब्ध नहीं है। इसे फ़ायरफ़ॉक्स 85 से हटा दिया गया था,[2] और क्रोम 84 में डिफ़ॉल्ट रूप से अक्षम कर दिया गया था और क्रोम 95 में हटा दिया गया था।[3] इस समय किसी भी ऑफ़लाइन वेब एप्लिकेशन सुविधाओं का उपयोग करने की अत्यधिक अनुशंसा नहीं की जाती है और इसके अतिरिक्त सेवा कर्मियों के उपयोग की अनुशंसा की जाती है।[4] कैश मैनिफ़ेस्ट वेब एप्लिकेशन मेनिफेस्ट से भिन्न होते हैं, एक JSON-आधारित फ़ाइल स्वरूप जो प्रगतिशील वेब ऐप तकनीक का हिस्सा है, और 2023 तक वर्तमान में सक्रिय है और W3C पर मानकीकरण प्रक्रिया से निकलता है।[5]
पृष्ठभूमि
वेब एप्लिकेशन में वे वेब पेज सम्मलित होते हैं हैं जिन्हें नेटवर्क से डाउनलोड करने की आवश्यकता होती है। ऐसा होने के लिए नेटवर्क कनेक्शन होना चाहिए। चूँकि , ऐसे कई उदाहरण हैं जब उपयोगकर्ता अपने नियंत्रण से परे परिस्थितियों के कारण नेटवर्क से संयोजित नहीं हो पाते हैं। एचटीएमएल5 वेब कैश मेनिफेस्ट का उपयोग करके नेटवर्क कनेक्शन के बिना भी वेब एप्लिकेशन तक पहुंचने की क्षमता प्रदान करता है।
वेब अनुप्रयोगों में URLs (यूनिफ़ॉर्म रिसोर्स लोकेटर) द्वारा पहचाने गए संसाधन सम्मलित होते हैं। ये एचटीएमएल, CSS (व्यापक शैली पत्रक), जावास्क्रिप्ट, छवियां या कोई अन्य स्रोत हो सकते हैं जो वेब एप्लिकेशन को प्रस्तुत करने के लिए आवश्यक होते हैं। उनके पतों को एक को एक मेनिफेस्ट फ़ाइल में कॉपी किया जा सकता है, जिसे वेब एप्लिकेशन के लेखक द्वारा नियमित रूप से अपडेट किया जा सकता है, जो जोड़े या हटाए गए किसी भी नए वेब पते को इंगित करता है। पहली बार किसी नेटवर्क से कनेक्ट होने पर, एक वेब ब्राउज़र एचटीएमएल5 मेनिफेस्ट फ़ाइल को पढ़कर, दिए गए संसाधनों को डाउनलोड करेगा और उन्हें स्थानीय रूप से संग्रहीत करत है। फिर, नेटवर्क कनेक्शन की अनुपस्थिति में, वेब ब्राउज़र स्थानीय प्रतियों पर स्थानांतरित हो जाएगा और वेब एप्लिकेशन को ऑफ़लाइन प्रस्तुत करेगा।
मूल बातें
ऑफ़लाइन एप्लिकेशन को काम करने के लिए, वेब डेवलपर द्वारा एक कैश मेनिफेस्ट फ़ाइल बनाई जानी चाहिए। यदि वेब एप्लिकेशन एक से अधिक पेज से अधिक है तो प्रत्येक पेज में एक मेनिफेस्ट विशेषता होनी चाहिए जो कैश मेनिफेस्ट को इंगित करती है। मेनिफेस्ट को संदर्भित करने वाला प्रत्येक पृष्ठ स्थानीय रूप से संग्रहीत किया जाएगा।[6] कैश मेनिफेस्ट फ़ाइल सर्वर के दूसरे भाग में स्थित एक टेक्स्ट फ़ाइल होती है। इसे सामग्री प्रकार के साथ प्रस्तुत किया जाना चाहिए text/cache-manifest
[7]
विशेषता manifest="<path>"
कैश मेनिफेस्ट फ़ाइल को काम करने के लिए एचटीएमएल तत्व में जोड़ा जाना चाहिए।[7]
उदाहरण:
<!DOCTYPE HTML>
<html manifest="cache.appcache">
<body>
…
</body>
</html>
मेनिफेस्ट विशेषता का तर्क मेनिफेस्ट फ़ाइल का एक सापेक्ष या निरपेक्ष पथ होता है।
नीचे दी गई एचटीएमएल फ़ाइल पर विचार करें। <एचटीएमएल> तत्व इंगित करता है कि cache.appcache नामक फ़ाइल में इस वेब पेज के ऑफ़लाइन काम करने के लिए आवश्यक संसाधनों (जैसे, test.js, test.css) की सूची होती है। इस फ़ाइल के सामान्य नाम cache.manifest और manifest.appcache हैं।
<!—- test.html -->
<!DOCTYPE HTML>
<html manifest="cache.appcache">
<head>
<title>Test</title>
<script src="test.js"></script>
<link rel="stylesheet" href="test.css">
</head>
<body>
Testing the manifest file.
</body>
</html>
सिंटेक्स
मेनिफेस्ट फ़ाइल लाइन से प्रारंभ होनी चाहिए CACHE MANIFEST
. टिप्पणियाँ टिप्पणियाँ # से प्रारंभ होती हैं #
, रिक्त स्थान और रिक्त पंक्तियों को उपेक्षित कर दिया जाता है।[8] नीचे कैश मेनिफेस्ट फ़ाइल का एक उदाहरण दिया गया है।
उदाहरण 1:
CACHE MANIFEST /test.css /test.js /test.png
यह मेनिफेस्ट फ़ाइल तीन संसाधनों को सूचीबद्ध करती है: एक CSS फ़ाइल, एक जावास्क्रिप्ट फ़ाइल और एक PNG छवि होती है। जब उपरोक्त फ़ाइल लोड की जाती है, तो ब्राउज़र वेब सर्वर में मूल निर्देशिका से test.css, test.js और test.png फ़ाइलें डाउनलोड करता है।[7]परिणामस्वरूप, जब भी किसी का नेटवर्क कनेक्ट नहीं होगा, तो संसाधन उन्हें ऑफ़लाइन उपलब्ध होते है।
जैसा कि नीचे दिखाया गया है, कैश मेनिफेस्ट सापेक्ष पथ या यहां तक कि पूर्ण URLs का भी उपयोग कर सकते हैं।[8][9][10]
उदाहरण 2:
CACHE MANIFEST /main/features.js /main/settings/index.css <nowiki>http://files/images/scene.jpg <nowiki>http://files/images/world.jpg
फ़ाइल शीर्षलेख
कैश मेनिफेस्ट फ़ाइल में तीन सेक्शन हेडर होते हैं।[7]
- CACHE हेडर के साथ स्पष्ट अनुभाग।
- हेडर नेटवर्क के साथ ऑनलाइन श्वेतसूची अनुभाग।
- फ़ॉलबैक हेडर फ़ॉलबैक के साथ फ़ॉलबैक अनुभाग।
नोट: उपरोक्त उदाहरण 1 और उदाहरण 2, किसी भी अनुभाग शीर्षलेख को इंगित नहीं करते हैं और इसलिए उन्हें डिफ़ॉल्ट रूप से एक स्पष्ट अनुभाग माना जाता है।
हेडर नेटवर्क के साथ ऑनलाइन श्वेतसूची अनुभाग
उदाहरण 3:
CACHE MANIFEST NETWORK: /checking.cgi CACHE: /test.css /test.js /test.png
इस उदाहरण में हेडर सम्मलित हैं. लाइन, नेटवर्क: ऑनलाइन श्वेतसूची अनुभाग की शुरुआत है। इस अनुभाग के अंतर्गत सूचीबद्ध संसाधन कभी भी कैश्ड नहीं होते हैं और ऑफ़लाइन उपलब्ध नहीं होते हैं।[7]परिणामस्वरूप, जब संसाधन को ऑफ़लाइन लोड करने का प्रयास किया जाएगा तो एक त्रुटि उत्पन्न होगी।
हेडर कैश द्वारा स्पष्ट अनुभाग में बदलाव किया गया है: और संसाधनों (CSS स्टाइलशीट, जावास्क्रिप्ट और छवि फ़ाइल) को ऑफ़लाइन डाउनलोड और उपयोग किया जा सकता है।
हेडर FALLBACK के साथ फ़ॉलबैक अनुभाग
कैश मेनिफेस्ट फ़ाइल में फ़ॉलबैक अनुभाग का उपयोग उन ऑनलाइन संसाधनों को प्रतिस्थापित करने के लिए किया जा सकता है जिन्हें कैश नहीं किया जा सकता है या सफलतापूर्वक कैश नहीं किया गया है।[7]
उदाहरण 4:
CACHE MANIFEST FALLBACK: / /offline.एचटीएमएल NETWORK: …
उदाहरण 4 में, फ़ॉलबैक अनुभाग में एक पंक्ति होती है। अर्थात, i.e., / /offline.एचटीएमएल. 'ऑफ़लाइन' से पहले एकल वर्ण (/) किसी की साइट पर किसी भी URL पैटर्न से मिलान करता है।[7] यदि ब्राउज़र को ऐप कैश में पेज नहीं मिलता है, तो एप्लिकेशन /offline.एचटीएमएल. पेज प्रदर्शित करता है।
घटना प्रवाह
घटना ApplicationCache
जावास्क्रिप्ट ऑब्जेक्ट के अंतर्गत होते है।
यदि ब्राउज़र किसी वेब पेज पर जाता है, पहले वेब पेज नहीं देखा है और परिणामस्वरूप मेनिफेस्ट फ़ाइल को नहीं पहचानता है, तो निम्नलिखित घटनाएं घटित होती है ।[8]
Checking
घटना - तब होती है जब ब्राउज़र किसी वेब पेज पर जाता है और <एचटीएमएल> तत्व पर मेनिफेस्ट विशेषता पढ़ता है।Downloading
घटना - यह मेनिफेस्ट फ़ाइल में दिए गए सभी संसाधनों को डाउनलोड करता है ।Progress
घटना - इसमें यह जानकारी होती है कि कितनी फ़ाइलें डाउनलोड की गई हैं और कितनी फ़ाइलें डाउनलोड की जाती हैं।Cached
घटना - तब होता है जब सभी फ़ाइलें डाउनलोड हो जाती हैं और ऑफ़लाइन वेब एप्लिकेशन ऑफ़लाइन उपयोग के लिए सुसज्जित हो जाता है।
यदि ब्राउज़र पहले वेब पेज पर गया है और मेनिफेस्ट फ़ाइल को पहचानता है तो निम्नलिखित घटनाएं घटित होती है।[8]
* Noupdate
घटना - यह तब घटित होगा जब कैश मेनिफ़ेस्ट नहीं बदला गया हो।
Downloading
घटना - यदि कैश मेनिफेस्ट ने संसाधनों को बदल दिया है तो फ़ाइलें फिर से डाउनलोड की जाएंगी।Progress
घटना - इसमें यह जानकारी होती है कि कितनी फ़ाइलें डाउनलोड हो चुकी हैं और कितनी फ़ाइलें डाउनलोड होनी बाकी हैं।Updateready
घटना - पुनः डाउनलोडिंग पूरी होने के बाद, यह घटना ट्रिगर हो जाता है, जो दर्शाता है कि नया ऑफ़लाइन संस्करण उपयोग के लिए तैयार होता है।
यदि उपरोक्त घटनाओं में किसी भी समय कोई त्रुटि होती है, तो ब्राउज़र एक त्रुटि घटना को ट्रिगर करेगा और प्रक्रिया को रोक देगा। नीचे कुछ त्रुटियाँ दी गई हैं जो संसाधनों को दोबारा डाउनलोड करते समय हो सकती हैं।[9]
- पृष्ठ नहीं मिला (HTTP 404) या पृष्ठ स्थायी रूप से चला गया (HTTP त्रुटि 410)।
- मैनिफ़ेस्ट की ओर इंगित करने वाले एचटीएमएल पृष्ठ को डाउनलोड करने में विफलता।[7]
- अद्यतन होने के समय कैश मेनिफ़ेस्ट बदल गया।[7]* कैश मेनिफ़ेस्ट बदल दिया गया था लेकिन ब्राउज़र ने मेनिफ़ेस्ट में कोई संसाधन डाउनलोड नहीं किया जाता है ।[7]
यह भी देखें
- एचटीएमएल5
- ऑफ़लाइन पाठक
- वेब कैश
संदर्भ
- ↑ "Application cache as part of the W3C Recommendation". 28 October 2014. Retrieved 30 May 2016.
- ↑ "Using the application cache - HTML: HyperText Markup Language | MDN". developer.mozilla.org. Archived from the original on 2019-02-15. Retrieved 2021-04-11.
- ↑ "AppCache हटाने की तैयारी की जा रही है". web.dev (in English). Archived from the original on 2020-05-20. Retrieved 2021-09-02.
- ↑ "विंडो.एप्लिकेशन कैश". MDN Web Docs. Mozilla. Retrieved 2020-12-29.
- ↑ "वेब एप्लिकेशन मेनिफेस्ट". www.w3.org. Retrieved 2023-04-09.
- ↑ Bidelman, Eric (29 October 2013). "एप्लिकेशन कैश का उपयोग करने के लिए एक शुरुआती मार्गदर्शिका". Retrieved 23 April 2014.
- ↑ 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 Pilgrim, Mark (2010). HTML5 Up and Running. O'Reilley. Archived from the original on 2011-10-03. Retrieved 2018-11-16.
- ↑ 8.0 8.1 8.2 8.3 "W3 HTML5 Manifests". HTML5. Archived from the original on 24 December 2010. Retrieved 3 April 2011.
- ↑ 9.0 9.1 "देव.ओपेरा". HTML5. Retrieved 3 April 2011.
- ↑ "क्या?". HTML5. Archived from the original on 14 April 2011. Retrieved 3 April 2011.