वेब स्टोरेज

From Vigyanwiki
Revision as of 11:47, 20 July 2023 by alpha>Neeraja (added Category:Vigyan Ready using HotCat)

वेब स्टोरेज, जिसे कभी-कभी डीओएम स्टोरेज (डॉक्यूमेंट ऑब्जेक्ट मॉडल स्टोरेज) के रूप में जाना जाता है, वेब ब्राउज़र द्वारा प्रदान किया गया एक मानक जावास्क्रिप्ट एपीआई है। इस प्रकार यह वेबसाइटों को एचटीटीपी कुकीज़ के समान उपयोगकर्ताओं के उपकरणों पर निंरन्तर डेटा संग्रहीत करने में सक्षम बनाता है, किन्तु बहुत बड़ी क्षमता के साथ[1]और एचटीटीपी शीर्षलेखों की सूची में कोई जानकारी नहीं भेजी गई हैं।[2] इस प्रकार दो मुख्य वेब स्टोरेज प्रकार हैं: स्थानीय स्टोरेज और सत्र स्टोरेज, क्रमशः लगातार कुकीज़ और सत्र कुकीज़ के समान व्यवहार करते हैं। वेब स्टोरेज को वर्ल्ड वाइड वेब कंसोर्टियम (W3C)[3] और WHATWG द्वारा मानकीकृत किया गया है[4] और सभी प्रमुख ब्राउज़रों द्वारा समर्थित है।

सुविधाएँ

इस प्रकार वेब संग्रहण कुछ प्रमुख मायनों में कुकीज़ से भिन्न है।

उद्देश्य

कुकीज़ सर्वर के साथ संचार के लिए अभिप्रेत हैं; वह स्वचालित रूप से सभी अनुरोधों में जुड़ जाते हैं और सर्वर और क्लाइंट-साइड दोनों द्वारा उन तक पहुंचा जा सकता है। इस प्रकार वेब स्टोरेज विशेष रूप से क्लाइंट-साइड स्क्रिप्टिंग के सीमा में आता है। प्रत्येक एचटीटीपी अनुरोध में वेब स्टोरेज डेटा स्वचालित रूप से सर्वर पर प्रसारित नहीं होता है, और एक वेब सर्वर सीधे वेब स्टोरेज पर नहीं लिख सकता है। यद्यपि, इनमें से कोई भी प्रभाव स्पष्ट क्लाइंट-साइड स्क्रिप्ट के साथ प्राप्त किया जा सकता है, जिससे सर्वर की वांछित इंटरैक्शन को ठीक किया जा सकता है।

भंडारण का आकार

कुकीज़ 4 किलोबाइट तक सीमित हैं। इस प्रकार वेब संग्रहण कहीं अधिक संग्रहण क्षमता प्रदान करता है:

स्थानीय और सत्र भंडारण

वेब स्टोरेज दो भिन्न- भिन्न स्टोरेज क्षेत्र प्रदान करता है - स्थानीय स्टोरेज और सत्र स्टोरेज - जो सीमा और जीवनकाल में भिन्न होते हैं। स्थानीय भंडारण में रखा गया डेटा प्रति मूल है - समान-मूल नीति में परिभाषित प्रोटोकॉल, होस्ट नाम और पोर्ट नंबर का संयोजन करता हैं। इस प्रकार डेटा उसी मूल के पृष्ठों से लोड की गई सभी स्क्रिप्ट के लिए उपलब्ध है, जो पहले डेटा संग्रहीत करता था और ब्राउज़र बंद होने के पश्चात् भी बना रहता है। इस प्रकार, वेब स्टोरेज कुकी अशक्त अखंडता और अशक्त गोपनीयता विवादों से ग्रस्त नहीं है, जिसका वर्णन किया गया है 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] इस प्रकार किसी भिन्न डेटा प्रकार को संग्रहीत करने का प्रयास करने से अधिकांश ब्राउज़रों में एक स्ट्रिंग में स्वचालित रूपांतरण हो जाएगा। यद्यपि, जेएसओएन में रूपांतरण जावास्क्रिप्ट ऑब्जेक्ट के प्रभावी भंडारण की अनुमति देता है।

// 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 ड्राफ्ट का शीर्षक वेब स्टोरेज है। डीओएमस्टोरेज भी सामान्यतः उपयोग किया जाने वाला नाम रहा है, यद्यपि यह कम होता जा रहा है; इस प्रकार उदाहरण के लिए मोज़िला और माइक्रोसॉफ्ट डेवलपर साइटों के डीओएमस्टोरेज वेब लेखों को वेब स्टोरेज लेखों से बदल दिया गया है।[11][12][13][14]

डीओएमस्टोरेज में डीओएमवस्तुतः दस्तावेज़ ऑब्जेक्ट मॉडल को संदर्भित नहीं करता है। W3C के अनुसार, डीओएम शब्द का उपयोग वेब अनुप्रयोगों में स्क्रिप्ट के लिए उपलब्ध कराए गए एपीआई समूह को संदर्भित करने के लिए किया जाता है, और आवश्यक नहीं कि यह वास्तविक दस्तावेज़ ऑब्जेक्ट के अस्तित्व को दर्शाता हो...[15]

वेब भंडारण प्रबंधन

वेब स्टोरेज ऑब्जेक्ट का स्टोरेज सभी सहायक वेब ब्राउज़र के वर्तमान संस्करणों में डिफ़ॉल्ट रूप से सक्षम है, ब्राउज़र विक्रेता उपयोगकर्ताओं को वेब स्टोरेज को मूल रूप से सक्षम या अक्षम करने, या वेब स्टोरेज "कैश" को साफ़ करने के तरीके प्रदान करते हैं।[16] इस प्रकार वेब स्टोरेज पर समान नियंत्रण तृतीय पक्ष ब्राउज़र एक्सटेंशन के माध्यम से भी उपलब्ध हैं। प्रत्येक ब्राउज़र वेब स्टोरेज ऑब्जेक्ट को भिन्न- भिन्न तरीके से संग्रहीत करता है:

  • फ़ायरफ़ॉक्स वेब स्टोरेज ऑब्जेक्ट को उपयोगकर्ता के प्रोफ़ाइल फ़ोल्डर में webappsstore.sqlite नामकएसक्यू लाइट फ़ाइल में सहेजता है[17]
  • गूगल क्रोम उपयोगकर्ता की प्रोफ़ाइल में SQLite फ़ाइल में वेब संग्रहण डेटा रिकॉर्ड करता है। इस फ़ाइल वाला सबफ़ोल्डर विंडोज़ पर "\AppData\Local\Google\Chrome\User Data\Default\Local Storage" on Windows, and "~/Library/Application Support/Google/Chrome/Default/Local Storage" on macOS. स्टोरेज" है।
  • ओपेरा (वेब ​​​​ब्राउज़र) का वेब स्टोरेज इनमें से किसी एक में स्थित है\AppData\Roaming\Opera\Opera\sessions\autosave.winया\AppData\Local\Opera\Opera\pstorage\ओपेरा के संस्करण पर निर्भर करता है।
  • इंटरनेट एक्सप्लोरर का वेब स्टोरेज "\AppData\LocalLow\Microsoft\Internet Explorer\DOMStorage" है।
  • सफ़ारी (वेब ​​​​ब्राउज़र) का वेब स्टोरेज एक छुपे हुए अंदरsafariफ़ोल्डर LocalStorage [18]लेबल वाले फ़ोल्डर में स्थित है

यह भी देखें

संदर्भ

  1. 1.0 1.1 Dixit, Shwetank (2013-03-05). "Web Storage: Easier, More Powerful Client-Side Data Storage". Dev.Opera. Retrieved 2021-05-14.
  2. Hume, Andy (2011-03-24). "लोकलस्टोरेज कुकीज़ नहीं है". andyhume.net. Archived from the original on 2011-06-02. Retrieved 2021-05-14.
  3. WHATWG. "HTML Standard § 12 Web storage". html.spec.whatwg.org. Retrieved 2021-05-14.
  4. Hickson, Ian, ed. (2021-01-28). "वेब संग्रहण (द्वितीय संस्करण)". W3C. Web Platform Working Group. Retrieved 2021-05-14.
  5. 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.
  6. John Resig: DOM Storage. John Resig, ejohn.org. Retrieved on 2011-06-12.
  7. michaeln (2013-03-08). "Issue 21680002: Up the window.localstorage limit to 10M from 5M. - Code Review". Chromium Code Reviews. Retrieved 2021-05-14.
  8. Microsoft (2016-10-20). "वेब स्टोरेज का परिचय". Microsoft Docs. Microsoft. Retrieved 2021-05-14.
  9. W3C: Web Storage draft standard. Dev.w3.org (2004-02-05). Retrieved on 2011-06-12.
  10. W3C, 2011 http://dev.w3.org/html5/webstorage/
  11. "डोम भंडारण". Mozilla Developer Network. Archived from the original on June 4, 2011. Retrieved 2011-06-12.
  12. "वेब संग्रहण एपीआई". Mozilla Developer Network. Retrieved June 28, 2017.
  13. "DOM स्टोरेज का परिचय". Microsoft Developer Network. Archived from the original on June 8, 2011. Retrieved 2011-06-12.
  14. "वेब स्टोरेज का परिचय". Microsoft Developer Network. Retrieved June 28, 2017.
  15. W3C: Web Storage draft standard. Dev.w3.org (2004-02-05). Retrieved on 2011-06-12.
  16. How to enable, disable, or clear your browser's "Web Storage" cache. mid.as. Retrieved on 2022-10-06.
  17. Webappsstore.sqlite kb.mozillazine.org
  18. Where is Safari web data stored? discussions.apple.com. Retrieved 20 2022-10-06

बाहरी संबंध