एचटीएमएल 5 में कैश मेनिफेस्ट: Difference between revisions

From Vigyanwiki
No edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{About|वेब पेजों को ऑफ़लाइन पहुंच योग्य बनाने की अप्रचलित तकनीक|नियमित HTTP कैश|वेब कैश|ऑफ़लाइन ऐप्स बनाने की आधुनिक तकनीक|प्रगतिशील वेब अनुप्रयोग}}{{Short description|Local cache in a web file}}
{{Short description|Local cache in a web file}}
{{Copied to Wikibooks}}
{{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}}
}}
}}
'''HTML5 में कैश मेनिफेस्ट''' एक सॉफ्टवेयर स्टोरेज सुविधा थी जो नेटवर्क संयोजन के बिना भी [[वेब अनुप्रयोग]] तक पहुंचने की क्षमता प्रदान करती थी। यह 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>
'''एचटीएमएल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 ([[यूनिफ़ॉर्म रिसोर्स लोकेटर|यूनिफ़ॉर्म रिसोर्स लोकेटर)]] द्वारा पहचाने गए संसाधन सम्मलित होते हैं। ये HTML, CSS ([[ व्यापक शैली पत्रक |व्यापक शैली पत्रक)]], [[जावास्क्रिप्ट]], छवियां या कोई अन्य स्रोत हो सकते हैं जो वेब एप्लिकेशन को प्रस्तुत करने के लिए आवश्यक होते हैं। उनके पतों को एक को एक [[प्रकट फ़ाइल|मेनिफेस्ट फ़ाइल]] में कॉपी किया जा सकता है, जिसे वेब एप्लिकेशन के लेखक द्वारा नियमित रूप से अपडेट किया जा सकता है, जो जोड़े या हटाए गए किसी भी नए वेब पते को इंगित करता है। पहली बार किसी नेटवर्क से कनेक्ट होने पर, एक वेब ब्राउज़र HTML5 मेनिफेस्ट फ़ाइल को पढ़कर, दिए गए संसाधनों को डाउनलोड करेगा और उन्हें स्थानीय रूप से संग्रहीत करत है। फिर, नेटवर्क कनेक्शन की अनुपस्थिति में, वेब ब्राउज़र स्थानीय प्रतियों पर स्थानांतरित हो जाएगा और वेब एप्लिकेशन को ऑफ़लाइन प्रस्तुत करेगा।
वेब अनुप्रयोगों में 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> कैश मेनिफेस्ट फ़ाइल को काम करने के लिए html तत्व में जोड़ा जाना चाहिए।<ref name="main" />
विशेषता <code>manifest="<path>"</code> कैश मेनिफेस्ट फ़ाइल को काम करने के लिए एचटीएमएल तत्व में जोड़ा जाना चाहिए।<ref name="main" />


उदाहरण:
उदाहरण:
Line 51: Line 50:
मेनिफेस्ट विशेषता का तर्क मेनिफेस्ट फ़ाइल का एक सापेक्ष या निरपेक्ष पथ होता है।
मेनिफेस्ट विशेषता का तर्क मेनिफेस्ट फ़ाइल का एक सापेक्ष या निरपेक्ष पथ होता है।


नीचे दी गई HTML फ़ाइल पर विचार करें। <html> तत्व इंगित करता है कि ''cache.appcache'' नामक फ़ाइल में इस वेब पेज के ऑफ़लाइन काम करने के लिए आवश्यक संसाधनों (जैसे, test.js, test.css) की सूची होती है। इस फ़ाइल के सामान्य नाम cache.manifest और manifest.appcache हैं।
नीचे दी गई एचटीएमएल फ़ाइल पर विचार करें। <एचटीएमएल> तत्व इंगित करता है कि ''cache.appcache'' नामक फ़ाइल में इस वेब पेज के ऑफ़लाइन काम करने के लिए आवश्यक संसाधनों (जैसे, test.js, test.css) की सूची होती है। इस फ़ाइल के सामान्य नाम cache.manifest और manifest.appcache हैं।
<syntaxhighlight lang="html">
<syntaxhighlight lang="html">
<!—- test.html -->
<!—- test.html -->
Line 117: Line 116:
  CACHE MANIFEST
  CACHE MANIFEST
  FALLBACK:
  FALLBACK:
  / /offline.html
  / /offline.एचटीएमएल
  NETWORK:
  NETWORK:
  …
  …
उदाहरण 4 में, फ़ॉलबैक अनुभाग में एक पंक्ति होती है। अर्थात,  i.e., ''/ /offline.html''. 'ऑफ़लाइन' से पहले एकल वर्ण (''/'') किसी की साइट पर किसी भी URL  पैटर्न से मिलान करता है।<ref name="main" /> यदि ब्राउज़र को ऐप कैश में पेज नहीं मिलता है, तो एप्लिकेशन /offline.html. पेज प्रदर्शित करता है।
उदाहरण 4 में, फ़ॉलबैक अनुभाग में एक पंक्ति होती है। अर्थात,  i.e., ''/ /offline.एचटीएमएल''. 'ऑफ़लाइन' से पहले एकल वर्ण (''/'') किसी की साइट पर किसी भी URL  पैटर्न से मिलान करता है।<ref name="main" /> यदि ब्राउज़र को ऐप कैश में पेज नहीं मिलता है, तो एप्लिकेशन /offline.एचटीएमएल. पेज प्रदर्शित करता है।


== घटना प्रवाह ==
== घटना प्रवाह ==
Line 127: Line 126:
यदि ब्राउज़र किसी वेब पेज पर जाता है, पहले वेब पेज नहीं देखा है और परिणामस्वरूप मेनिफेस्ट फ़ाइल को नहीं पहचानता है, तो निम्नलिखित घटनाएं घटित होती है ।<ref name="W3" />
यदि ब्राउज़र किसी वेब पेज पर जाता है, पहले वेब पेज नहीं देखा है और परिणामस्वरूप मेनिफेस्ट फ़ाइल को नहीं पहचानता है, तो निम्नलिखित घटनाएं घटित होती है ।<ref name="W3" />


* <code>Checking</code> घटना - तब होती है जब ब्राउज़र किसी वेब पेज पर जाता है और <html> तत्व पर मेनिफेस्ट विशेषता पढ़ता है।
* <code>Checking</code> घटना - तब होती है जब ब्राउज़र किसी वेब पेज पर जाता है और <एचटीएमएल> तत्व पर मेनिफेस्ट विशेषता पढ़ता है।
* <code>Downloading</code> घटना - यह मेनिफेस्ट फ़ाइल में दिए गए सभी संसाधनों को डाउनलोड करता है ।
* <code>Downloading</code> घटना - यह मेनिफेस्ट फ़ाइल में दिए गए सभी संसाधनों को डाउनलोड करता है ।
* <code>Progress</code> घटना - इसमें यह जानकारी होती है कि कितनी फ़ाइलें डाउनलोड की गई हैं और कितनी फ़ाइलें डाउनलोड की जाती हैं।
* <code>Progress</code> घटना - इसमें यह जानकारी होती है कि कितनी फ़ाइलें डाउनलोड की गई हैं और कितनी फ़ाइलें डाउनलोड की जाती हैं।
Line 141: Line 140:


* पृष्ठ नहीं मिला ([[HTTP 404]]) या पृष्ठ स्थायी रूप से चला गया (HTTP त्रुटि 410)।
* पृष्ठ नहीं मिला ([[HTTP 404]]) या पृष्ठ स्थायी रूप से चला गया (HTTP त्रुटि 410)।
* मैनिफ़ेस्ट की ओर इंगित करने वाले HTML पृष्ठ को डाउनलोड करने में विफलता।<ref name="main" />  
* मैनिफ़ेस्ट की ओर इंगित करने वाले एचटीएमएल पृष्ठ को डाउनलोड करने में विफलता।<ref name="main" />  
*अद्यतन होने के समय कैश मेनिफ़ेस्ट बदल गया।<ref name="main" />* कैश मेनिफ़ेस्ट बदल दिया गया था लेकिन ब्राउज़र ने मेनिफ़ेस्ट में कोई संसाधन डाउनलोड नहीं किया जाता है ।<ref name="main" />
*अद्यतन होने के समय कैश मेनिफ़ेस्ट बदल गया।<ref name="main" />* कैश मेनिफ़ेस्ट बदल दिया गया था लेकिन ब्राउज़र ने मेनिफ़ेस्ट में कोई संसाधन डाउनलोड नहीं किया जाता है ।<ref name="main" />
== यह भी देखें ==
== यह भी देखें ==
Line 153: Line 152:


==बाहरी संबंध==
==बाहरी संबंध==
* [https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache Using the application cache - HTML | 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://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/ HTML5: Offline 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/ HTML5 Rocks ]
* [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: आप बोर हो जायेंगे]]


 
[[Category:CS1 English-language sources (en)]]
 
[[Category: Machine Translated Page]]
[[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 byWorld Wide Web Consortium
StandardHTML5
Open format?Yes
Websitehtml.spec.whatwg.org/multipage/browsers.html#offline

एचटीएमएल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]

  1. CACHE हेडर के साथ स्पष्ट अनुभाग।
  2. हेडर नेटवर्क के साथ ऑनलाइन श्वेतसूची अनुभाग।
  3. फ़ॉलबैक हेडर फ़ॉलबैक के साथ फ़ॉलबैक अनुभाग।

नोट: उपरोक्त उदाहरण 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]

यह भी देखें

संदर्भ

  1. "Application cache as part of the W3C Recommendation". 28 October 2014. Retrieved 30 May 2016.
  2. "Using the application cache - HTML: HyperText Markup Language | MDN". developer.mozilla.org. Archived from the original on 2019-02-15. Retrieved 2021-04-11.
  3. "AppCache हटाने की तैयारी की जा रही है". web.dev (in English). Archived from the original on 2020-05-20. Retrieved 2021-09-02.
  4. "विंडो.एप्लिकेशन कैश". MDN Web Docs. Mozilla. Retrieved 2020-12-29.
  5. "वेब एप्लिकेशन मेनिफेस्ट". www.w3.org. Retrieved 2023-04-09.
  6. Bidelman, Eric (29 October 2013). "एप्लिकेशन कैश का उपयोग करने के लिए एक शुरुआती मार्गदर्शिका". Retrieved 23 April 2014.
  7. 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. 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. 9.0 9.1 "देव.ओपेरा". HTML5. Retrieved 3 April 2011.
  10. "क्या?". HTML5. Archived from the original on 14 April 2011. Retrieved 3 April 2011.


बाहरी संबंध