वेब स्टोरेज
HTML |
---|
Comparisons |
वेब स्टोरेज, जिसे कभी-कभी DOM स्टोरेज (दस्तावेज़ ऑब्जेक्ट मॉडल स्टोरेज) के रूप में जाना जाता है, वेब ब्राउज़र द्वारा प्रदान किया गया एक मानक जावास्क्रिप्ट एपीआई है। यह वेबसाइटों को HTTP कुकी के समान उपयोगकर्ताओं के उपकरणों पर पर्सिस्टेंस (कंप्यूटर विज्ञान) डेटा संग्रहीत करने में सक्षम बनाता है, किन्तु बहुत बड़ी क्षमता के साथ[1]और HTTP शीर्षलेखों की सूची में कोई जानकारी नहीं भेजी गई।[2] दो मुख्य वेब स्टोरेज प्रकार हैं: स्थानीय स्टोरेज और सत्र स्टोरेज, क्रमशः लगातार कुकीज़ और सत्र कुकीज़ के समान व्यवहार करते हैं। वेब स्टोरेज को विश्वव्यापी वेब संकाय (W3C) द्वारा मानकीकृत किया गया है[3] और WHATWG,[4] और सभी प्रमुख ब्राउज़रों द्वारा समर्थित है।
सुविधाएँ
वेब संग्रहण कुछ प्रमुख मायनों में कुकीज़ से भिन्न है।
उद्देश्य
कुकीज़ सर्वर के साथ संचार के लिए अभिप्रेत हैं; वे स्वचालित रूप से सभी अनुरोधों में जुड़ जाते हैं और सर्वर और क्लाइंट-साइड दोनों द्वारा उन तक पहुंचा जा सकता है। वेब स्टोरेज विशेष रूप से क्लाइंट-साइड स्क्रिप्टिंग के दायरे में आता है। प्रत्येक HTTP अनुरोध में वेब स्टोरेज डेटा स्वचालित रूप से सर्वर पर प्रसारित नहीं होता है, और एक वेब सर्वर सीधे वेब स्टोरेज पर नहीं लिख सकता है। यद्यपि, इनमें से कोई भी प्रभाव स्पष्ट क्लाइंट-साइड स्क्रिप्ट के साथ प्राप्त किया जा सकता है, जिससे सर्वर की वांछित इंटरैक्शन को ठीक किया जा सकता है।
भंडारण आकार
कुकीज़ 4 किलोबाइट तक सीमित हैं। वेब संग्रहण कहीं अधिक संग्रहण क्षमता प्रदान करता है:
- ओपेरा (वेब ब्राउज़र) 10.50+ 5 एमबी की अनुमति देता है[1]
- सफ़ारी (वेब ब्राउज़र) 8 5 एमबी की अनुमति देता है[5]
- फ़ायरफ़ॉक्स 34 10 एमबी की अनुमति देता है[5](पूर्व में 2007 में प्रति समान-मूल नीति 5 एमबी[6])
- Google Chrome प्रति मूल 10 एमबी (पूर्व में प्रति मूल 5 एमबी) की अनुमति देता है[7]
- इंटरनेट एक्सप्लोरर प्रति भंडारण क्षेत्र 10 एमबी की अनुमति देता है[8]
स्थानीय और सत्र भंडारण
वेब स्टोरेज दो अलग-अलग स्टोरेज क्षेत्र प्रदान करता है - स्थानीय स्टोरेज और सत्र स्टोरेज - जो दायरे और जीवनकाल में भिन्न होते हैं। स्थानीय भंडारण में रखा गया डेटा प्रति मूल है - समान-मूल नीति में परिभाषित प्रोटोकॉल, होस्ट नाम और पोर्ट नंबर का संयोजन। डेटा उसी मूल के पृष्ठों से लोड की गई सभी स्क्रिप्ट के लिए उपलब्ध है, जो पहले डेटा संग्रहीत करता था और ब्राउज़र बंद होने के बाद भी बना रहता है। इस प्रकार, वेब स्टोरेज कुकी कमजोर अखंडता और कमजोर गोपनीयता विवादों से ग्रस्त नहीं है, जिसका वर्णन किया गया है RFC 6265 धारा 8.5 और 8.6. सत्र भंडारण प्रति-उत्पत्ति और प्रति-उदाहरण (प्रति-विंडो या प्रति-टैब) दोनों है और उदाहरण के जीवनकाल तक सीमित है। सत्र भंडारण का उद्देश्य एक ही वेब ऐप के अलग-अलग उदाहरणों को एक-दूसरे के साथ हस्तक्षेप किए बिना अलग-अलग विंडो में चलाने की अनुमति देना है, एक ऐसा उपयोग मामला जो कुकीज़ द्वारा अच्छी तरह से समर्थित नहीं है।[9]
इंटरफ़ेस और डेटा मॉडल
वेब स्टोरेज कुकीज़ की तुलना में उत्तम प्रोग्रामेटिक इंटरफ़ेस प्रदान करता है क्योंकि यह एक सहयोगी सरणी डेटा मॉडल को उजागर करता है जहां कुंजी और मान दोनों स्ट्रिंग (कंप्यूटर विज्ञान) हैं।
उपयोग
वेब स्टोरेज का समर्थन करने वाले ब्राउज़र में वैश्विक ऑब्जेक्ट होते हैं sessionStorage
और localStorage
विंडो स्तर पर घोषित किया गया। वेब संग्रहण व्यवहार को ट्रिगर करने के लिए इन ब्राउज़रों पर निम्नलिखित जावास्क्रिप्ट कोड का उपयोग किया जा सकता है:
// Store value on browser for duration of the session
sessionStorage.setItem('key', 'value');
// Retrieve value (gets deleted when browser is closed and re-opened) ...
alert(sessionStorage.getItem('key'));
// Store value on the browser beyond the duration of the session
localStorage.setItem('key', 'value');
// Retrieve value (persists even after closing and re-opening the browser)
alert(localStorage.getItem('key'));
स्टोरेज एपीआई के माध्यम से केवल स्ट्रिंग्स को संग्रहीत किया जा सकता है।[10] किसी भिन्न डेटा प्रकार को संग्रहीत करने का प्रयास करने से अधिकांश ब्राउज़रों में एक स्ट्रिंग में स्वचालित रूपांतरण हो जाएगा। यद्यपि, JSON में रूपांतरण जावास्क्रिप्ट ऑब्जेक्ट के प्रभावी भंडारण की अनुमति देता है।
// Store an object instead of a string
localStorage.setItem('key', {name: 'value'});
alert(typeof localStorage.getItem('key')); // string
// Store an integer instead of a string
localStorage.setItem('key', 1);
alert(typeof localStorage.getItem('key')); // string
// Store an object using JSON
localStorage.setItem('key', JSON.stringify({name: 'value'}));
alert(JSON.parse(localStorage.getItem('key')).name); // value
नामपद्धति
W3C ड्राफ्ट का शीर्षक वेब स्टोरेज है। DOM स्टोरेज भी सामान्यतः उपयोग किया जाने वाला नाम रहा है, यद्यपि यह कम होता जा रहा है; उदाहरण के लिए मोज़िला और माइक्रोसॉफ्ट डेवलपर साइटों के DOM स्टोरेज वेब लेखों को वेब स्टोरेज लेखों से बदल दिया गया है।[11][12][13][14] DOM स्टोरेज में DOM वस्तुतः दस्तावेज़ ऑब्जेक्ट मॉडल को संदर्भित नहीं करता है। W3C के अनुसार, DOM शब्द का उपयोग वेब अनुप्रयोगों में स्क्रिप्ट के लिए उपलब्ध कराए गए एपीआई सेट को संदर्भित करने के लिए किया जाता है, और आवश्यक नहीं कि यह वास्तविक दस्तावेज़ ऑब्जेक्ट के अस्तित्व को दर्शाता हो...[15]
वेब भंडारण प्रबंधन
वेब स्टोरेज ऑब्जेक्ट का स्टोरेज सभी सहायक वेब ब्राउज़र के वर्तमान संस्करणों में डिफ़ॉल्ट रूप से सक्षम है, ब्राउज़र विक्रेता उपयोगकर्ताओं को वेब स्टोरेज को मूल रूप से सक्षम या अक्षम करने, या वेब स्टोरेज कैश को साफ़ करने के तरीके प्रदान करते हैं।[16] वेब स्टोरेज पर समान नियंत्रण तृतीय पक्ष ब्राउज़र एक्सटेंशन के माध्यम से भी उपलब्ध हैं। प्रत्येक ब्राउज़र वेब स्टोरेज ऑब्जेक्ट को अलग-अलग तरीके से संग्रहीत करता है:
- फ़ायरफ़ॉक्स वेब स्टोरेज ऑब्जेक्ट को SQLite फ़ाइल में सहेजता है
webappsstore.sqlite
उपयोगकर्ता के प्रोफ़ाइल फ़ोल्डर में. [17] - Google Chrome उपयोगकर्ता की प्रोफ़ाइल में SQLite फ़ाइल में वेब संग्रहण डेटा रिकॉर्ड करता है। इस फ़ाइल वाला सबफ़ोल्डर है
\AppData\Local\Google\Chrome\User Data\Default\Local Storage
माइक्रोसॉफ़्ट विंडोज़ ़ पर, और~/Library/Application Support/Google/Chrome/Default/Local Storage
macOS पर. - ओपेरा (वेब ब्राउज़र) का वेब स्टोरेज इनमें से किसी एक में स्थित है
\AppData\Roaming\Opera\Opera\sessions\autosave.win
या\AppData\Local\Opera\Opera\pstorage\
ओपेरा के संस्करण पर निर्भर करता है। - इंटरनेट एक्सप्लोरर का वेब स्टोरेज है
\AppData\LocalLow\Microsoft\Internet Explorer\DOMStorage
. - सफ़ारी (वेब ब्राउज़र) का वेब स्टोरेज लेबल वाले फ़ोल्डर में स्थित है
LocalStorage
एक छुपे हुए भीतरsafari
फ़ोल्डर. [18]
यह भी देखें
संदर्भ
- ↑ 1.0 1.1 Dixit, Shwetank (2013-03-05). "Web Storage: Easier, More Powerful Client-Side Data Storage". Dev.Opera. Retrieved 2021-05-14.
- ↑ Hume, Andy (2011-03-24). "लोकलस्टोरेज कुकीज़ नहीं है". andyhume.net. Archived from the original on 2011-06-02. Retrieved 2021-05-14.
- ↑ Hickson, Ian, ed. (2021-01-28). "वेब संग्रहण (द्वितीय संस्करण)". W3C. Web Platform Working Group. Retrieved 2021-05-14.
- ↑ WHATWG. "HTML Standard § 12 Web storage". html.spec.whatwg.org. Retrieved 2021-05-14.
- ↑ 5.0 5.1 Kitamura, Eiji (2014-01-28). "Working with quota on mobile browsers: A research report on browser storage - HTML5 Rocks". Archived from the original on 2014-02-01. Retrieved 2021-05-04.
- ↑ John Resig: DOM Storage. John Resig, ejohn.org. Retrieved on 2011-06-12.
- ↑ michaeln (2013-03-08). "Issue 21680002: Up the window.localstorage limit to 10M from 5M. - Code Review". Chromium Code Reviews. Retrieved 2021-05-14.
- ↑ Microsoft (2016-10-20). "वेब स्टोरेज का परिचय". Microsoft Docs. Microsoft. Retrieved 2021-05-14.
- ↑ W3C: Web Storage draft standard. Dev.w3.org (2004-02-05). Retrieved on 2011-06-12.
- ↑ W3C, 2011 http://dev.w3.org/html5/webstorage/
- ↑ "डोम भंडारण". Mozilla Developer Network. Archived from the original on June 4, 2011. Retrieved 2011-06-12.
- ↑ "वेब संग्रहण एपीआई". Mozilla Developer Network. Retrieved June 28, 2017.
- ↑ "DOM स्टोरेज का परिचय". Microsoft Developer Network. Archived from the original on June 8, 2011. Retrieved 2011-06-12.
- ↑ "वेब स्टोरेज का परिचय". Microsoft Developer Network. Retrieved June 28, 2017.
- ↑ W3C: Web Storage draft standard. Dev.w3.org (2004-02-05). Retrieved on 2011-06-12.
- ↑ How to enable, disable, or clear your browser's "Web Storage" cache. mid.as. Retrieved on 2022-10-06.
- ↑ Webappsstore.sqlite kb.mozillazine.org
- ↑ Where is Safari web data stored? discussions.apple.com. Retrieved 20 2022-10-06
बाहरी संबंध
- HTML Living Standard 11 Web storage
- W3C: Web Storage
- Web Storage API on Mozilla Developer Network
- Opera: Web Storage: easier, more powerful client-side data storage
- Local Storage on BlackBerry DevZone