सत्र और स्थानीय भंडारण ब्राउज़र भंडारण विधियां हैं जो आपको स्टेटलेस HTTP अनुरोधों के साथ डेटा संग्रहीत करने देती हैं। वे कुकी-आधारित भंडारण का एक विकल्प हैं और वेब विकास में उनके कई उपयोग हैं।
जबकि वे एक समान तरीके से काम करते हैं, ऐसे महत्वपूर्ण अंतर हैं जिनसे आपको अवगत होना चाहिए।
स्थानीय भंडारण और सत्र भंडारण: उनके उपयोग क्या हैं?
स्थानीय और सत्र भंडारण जावास्क्रिप्ट एपीआई हैं जिनका उपयोग आप क्लाइंट-साइड पर डेटा स्टोर करने के लिए कर सकते हैं। वे एक वेबसाइट को ब्राउज़र पर डेटा स्टोर करने की अनुमति देते हैं और ब्राउज़र को बाद में इसे एक्सेस करने का निर्देश देते हैं।
अपनी आवश्यकताओं के आधार पर, आप डेटा संग्रहीत करने के लिए स्थानीय या सत्र संग्रहण का उपयोग कर सकते हैं। दोनों भंडारण विधियां कुकीज़ के समान हैं लेकिन बिना कुकीज़ के आस-पास समान गोपनीयता संबंधी चिंताएं. इसलिए, अधिकांश आधुनिक वेबसाइटें केवल वेब स्टोरेज विधियों का उपयोग करना पसंद करती हैं या उन्हें फॉलबैक के रूप में कुकीज़ के साथ जोड़ती हैं।
कुकीज़ के विपरीत, स्थानीय भंडारण और सत्र भंडारण HTTP हेडर के माध्यम से सर्वर को डेटा नहीं भेजते हैं। आपको उनका उपयोग केवल क्लाइंट-साइड कार्यक्षमता के लिए करना चाहिए।
इसके अतिरिक्त, स्थानीय और सत्र भंडारण प्रत्येक की भंडारण सीमा लगभग 5 एमबी प्रति डोमेन है। वे कुकीज़ की तुलना में अधिक भंडारण प्रदान करते हैं, जिसमें प्रति कुकी केवल 4 KiB की क्षमता होती है।
सत्र भंडारण क्या है?
एक ब्राउज़िंग सत्र आपके द्वारा किसी वेबसाइट के उपयोग का अनुमान लगाता है। यदि आप किसी साइट पर जाते हैं, थोड़ा इधर-उधर ब्राउज़ करते हैं, फिर अपना कंप्यूटर बंद कर देते हैं, तो आप उस समय को एक सत्र के रूप में सोच सकते हैं। आपका ब्राउज़र कॉन्फ़िगरेशन इसे सूक्ष्म तरीकों से बदल सकता है, लेकिन एक सत्र का उद्देश्य उस समय का प्रतिनिधित्व करना है जब आप किसी साइट के साथ इंटरैक्ट करते हैं।
सत्र संग्रहण प्रत्येक ब्राउज़र टैब के लिए अद्वितीय है। यदि आप एक नया टैब खोलते हैं और उसी साइट पर नेविगेट करते हैं, तो आप अपने स्वयं के संग्रहण के साथ एक नया सत्र प्रारंभ करेंगे। हालांकि, यदि आप अपने ब्राउज़र में "डुप्लिकेट टैब" सुविधा का उपयोग करते हैं, तो वह उसी सत्र का पुन: उपयोग कर सकता है। आप "सत्र" के विशिष्ट विवरण पर बहुत अधिक भरोसा नहीं कर सकते। इसके बजाय, मुख्य अवधारणा पर ध्यान दें: सत्र भंडारण अस्थायी है।
सेशन स्टोरेज में की/वैल्यू पेयर डेटा के साथ काम करने के लिए बिल्ट-इन एपीआई मेथड्स हैं। आप से डेटा स्टोर कर सकते हैं जावास्क्रिप्ट इस तरह:
sessionStorage.setItem ("कुंजी", "मान");
और संग्रहीत मूल्य को पुनः प्राप्त करने के लिए:
sessionStorage.getItem ("कुंजी");
ध्यान दें कि दोनों चाभी तथा मूल्य केवल स्ट्रिंग प्रकार हैं। यदि आप किसी भिन्न प्रकार को संग्रहीत करना चाहते हैं, तो आपको इसे स्पष्ट रूप से या परोक्ष रूप से एक स्ट्रिंग में बदलने की आवश्यकता होगी।
स्थानीय भंडारण क्या है?
स्थानीय भंडारण साइट के सभी उदाहरणों में डेटा रखता है, चाहे वे अलग-अलग टैब या विंडो में हों। यह स्थायी भी है, इसलिए जब आप अपना ब्राउज़र बंद करेंगे तो डेटा गायब नहीं होगा।
जब आप कोई ऐसी वेबसाइट खोलते हैं जो पहले स्थानीय संग्रहण का उपयोग करती थी, तो उसके पास हमेशा उस संग्रहीत डेटा तक पहुंच होगी।
एक वेब डेवलपर के रूप में, आप किसी उपयोगकर्ता के बारे में डेटा बनाए रखने के लिए इस तंत्र का उपयोग कर सकते हैं। कुछ वेबसाइटें इसका उपयोग आपको लॉग इन रखने या अधिक व्यक्तिगत अनुभव प्रदान करने के लिए कर सकती हैं।
सत्र भंडारण की तरह, आप जावास्क्रिप्ट कोड की एक पंक्ति के साथ एक स्थानीय भंडारण वस्तु सेट कर सकते हैं:
localStorage.setItem ("कुंजी", "मान");
कुंजी के मूल्य तक पहुँचने के लिए:
localStorage.getItem ("कुंजी");
ध्यान दें कि ये तरीके उसी तरह से काम करते हैं जैसे सेशन स्टोरेज, वे सिर्फ एक अलग प्रकार के डेटा स्टोर का उपयोग करते हैं।
जबकि सत्र संग्रहण सत्र समाप्त होते ही डेटा साफ़ करता है, स्थानीय संग्रहण को साफ़ करने का एकमात्र तरीका इसे स्पष्ट रूप से हटाना है। दोनों प्रकार के भंडारण डेटा को साफ़ करने के लिए दो तरीके प्रदान करते हैं। पहला डेटा की एक विशिष्ट वस्तु को उसकी कुंजी के आधार पर हटाता है:
localStorage.removeItem ("कुंजी");
आप अपनी साइट द्वारा संग्रहीत सभी डेटा को भी हटा सकते हैं, चाहे उसकी कुंजी कुछ भी हो:
लोकलस्टोरेज.क्लियर ();
आप इन वेब संग्रहण API विधियों के बारे में अधिक जान सकते हैं जावास्क्रिप्ट.जानकारी वेबसाइट।
आपको स्थानीय भंडारण की आवश्यकता कब होती है?
चूंकि स्थानीय संग्रहण लगातार बना रहता है, इसलिए उपयोगकर्ता विज़िट के दौरान डेटा बनाए रखना आपके लिए सबसे अच्छा दांव है। यदि आप साइट वरीयताएँ संग्रहीत करना चाहते हैं या दीर्घकालिक डेटा संचय करना चाहते हैं, तो स्थानीय संग्रहण उपयुक्त है। हो सकता है कि आप स्थानीय संग्रहण का उपयोग करके अधिक संवेदनशील डेटा संग्रहीत नहीं करना चाहें, क्योंकि यह स्थायी है।
चूंकि स्थानीय और सत्र भंडारण फ्रंट-एंड विधियां हैं, इसलिए आप सर्वर-आधारित कार्यों जैसे उपयोगकर्ता लॉगिन के लिए उनका उपयोग करने से बचना चाह सकते हैं। आप इन मामलों में कुकीज़ को एक विकल्प के रूप में मान सकते हैं।
आपको सत्र संग्रहण की आवश्यकता कब होती है?
यदि आप केवल उपयोगकर्ता द्वारा आपकी साइट के साथ इंटरैक्ट करते समय डेटा संग्रहीत करना चाहते हैं, तो सत्र संग्रहण आदर्श है। यह आपकी साइट पर किसी विशिष्ट विज़िट के बारे में अल्पकालिक कैशिंग या उपयोग डेटा के लिए हो सकता है।
सत्र संग्रहण अधिक संवेदनशील जानकारी संग्रहीत करने के लिए बेहतर है क्योंकि इसकी समय-सीमा समाप्त हो जाती है।
स्थानीय भंडारण बनाम। सत्र संग्रहण: कौन सा अधिक सुरक्षित है?
जैसा कि आपने देखा, स्थानीय और सत्र भंडारण विधियाँ कई मायनों में समान हैं, लेकिन फिर भी उपयोग-मामले के अनुरूप हैं। आपको किसी भी सुरक्षित पर विचार नहीं करना चाहिए क्योंकि वे फ्रंट-एंड तकनीकें हैं जिन तक जावास्क्रिप्ट की पहुंच है। हालांकि, सत्र भंडारण बहुत सुविधाजनक है, और इसकी अस्थायी प्रकृति आश्वस्त करने वाली है।
स्थानीय भंडारण स्थायी है इसलिए यह अतिरिक्त सुरक्षा चिंताओं का कारण बन सकता है। कोई भी व्यक्ति जो ब्राउज़र खोलता है, सैद्धांतिक रूप से, स्थानीय संग्रहण तक पहुंच सकता है। आपको पता होना चाहिए XSS हमले कैसे काम करते हैं और उन्हें कैसे रोका जाए।
स्थानीय संग्रहण या सत्र संग्रहण: आपको किसका उपयोग करना चाहिए?
सत्र भंडारण इसकी अस्थायी प्रकृति के कारण थोड़ा अधिक सुरक्षित है। हालाँकि, वेब संग्रहण विधि का आपका चुनाव आपकी आवश्यकताओं पर निर्भर करता है। जावास्क्रिप्ट भंडारण केवल क्लाइंट-साइड उपयोग के लिए सबसे उपयुक्त है। लेकिन यह एक सुविधाजनक ब्राउज़र-आधारित डेटा स्टोर प्रदान करता है और इसका उपयोग करना बहुत आसान है।
याद रखें कि जब स्थानीय संग्रहण कई टैब में डेटा संग्रहीत करता है, तो अधिकांश भाग के लिए सत्र संग्रहण प्रत्येक टैब के लिए अद्वितीय होता है। आपको यह सुनिश्चित करना चाहिए कि आपका ऐप यथासंभव कम अनुमान लगाता है और किनारे के मामलों को पूरा करता है।
कुकीज़ डेटा दृढ़ता का एक पुराना रूप है, लेकिन वे अभी भी बहुत अधिक उपयोग में हैं। हो सकता है कि आप उन डेटा के लिए उन्हें देखना चाहें जिन्हें आपको सर्वर पर संचारित करने की आवश्यकता है।