लोकलस्टोरेज, सेशनस्टोरेज, सेशन और कुकीज के तकनीकी पक्ष और विपक्ष क्या हैं और मैं कब एक का उपयोग करूंगा?
लोकलस्टोरेज, सेशनस्टोरेज, सेशन और कुकीज के तकनीकी पक्ष और विपक्ष क्या हैं और मैं कब एक का उपयोग करूंगा?
जवाबों:
यह एक बहुत व्यापक गुंजाइश सवाल है, और बहुत सारे पेशेवरों / विपक्ष स्थिति के संदर्भ में होंगे।
सभी मामलों में, ये स्टोरेज मैकेनिज़्म किसी व्यक्ति के कंप्यूटर / डिवाइस पर एक अलग ब्राउज़र के लिए विशिष्ट होंगे। सत्र के दौरान एक निरंतर आधार पर डेटा को स्टोर करने के लिए किसी भी डेटाबेस को उपयोग करने की सबसे अधिक संभावना है, लेकिन संभवतः XML या एक पाठ / CSV फ़ाइल का उपयोग करने की आवश्यकता होगी।
LocalStorage, sessionStorage, और कुकीज़ सभी ग्राहक भंडारण समाधान हैं। सत्र डेटा सर्वर पर आयोजित किया जाता है जहां यह आपके प्रत्यक्ष नियंत्रण में रहता है।
लोकलस्टोरेज और सेशनस्टोरेज अपेक्षाकृत नए एपीआई हैं (मतलब, सभी विरासत ब्राउज़र उनका समर्थन नहीं करेंगे) और दृढ़ता के एकमात्र अपवाद के साथ समान (एपीआई और क्षमताओं में) दोनों के पास हैं। sessionStorage (जैसा कि नाम से पता चलता है) केवल ब्राउज़र सत्र की अवधि के लिए उपलब्ध है (और टैब या विंडो बंद होने पर हटा दिया जाता है) - यह, हालांकि, पृष्ठ पुनः लोड करता है (स्रोत डोम स्टोरेज गाइड - मोज़िला डेवलपर नेटवर्क ) से ।
स्पष्ट रूप से, यदि आप जिस डेटा को स्टोर कर रहे हैं, वह निरंतर आधार पर उपलब्ध होने की आवश्यकता है, तो लोकलस्टोरेज सेशनस्टोरेज के लिए बेहतर है - हालाँकि आपको ध्यान देना चाहिए कि दोनों को उपयोगकर्ता द्वारा साफ़ किया जा सकता है, इसलिए आपको किसी भी स्थिति में डेटा के निरंतर अस्तित्व पर भरोसा नहीं करना चाहिए।
लोकलस्टोरेज और सेशनस्टोरेज पेजों के बीच क्लाइंट स्क्रिप्ट के लिए आवश्यक गैर-संवेदनशील डेटा को बनाए रखने के लिए एकदम सही हैं (उदाहरण के लिए: वरीयताएँ, गेम में स्कोर)। स्थानीयस्टोरेज और सेशनस्टोरेज में संग्रहित डेटा को क्लाइंट / ब्राउज़र के भीतर से आसानी से पढ़ा या बदला जा सकता है, इसलिए अनुप्रयोगों के भीतर संवेदनशील या सुरक्षा से संबंधित डेटा के भंडारण पर भरोसा नहीं किया जाना चाहिए।
यह कुकीज़ के लिए भी सच है, ये उपयोगकर्ता द्वारा तुच्छ रूप से छेड़छाड़ की जा सकती हैं, और डेटा को उनसे सादे पाठ में भी पढ़ा जा सकता है - इसलिए यदि आप संवेदनशील डेटा संग्रहीत करना चाहते हैं तो सत्र वास्तव में आपका एकमात्र विकल्प है। यदि आप एसएसएल का उपयोग नहीं कर रहे हैं, तो कुकी जानकारी को पारगमन में भी इंटरसेप्ट किया जा सकता है, खासकर एक खुली वाईफाई पर।
पॉज़िटिव साइड कुकीज में सुरक्षा जोखिमों से सुरक्षा की एक हद हो सकती है जैसे क्रॉस-साइट स्क्रिप्टिंग (XSS) / स्क्रिप्ट इंजेक्शन एक HTTP केवल ध्वज सेट करके जिसका अर्थ है आधुनिक (समर्थन) ब्राउज़र कुकीज़ तक पहुँचने से रोकेंगे और जावास्क्रिप्ट से मान ( यह आपके स्वयं के, वैध, जावास्क्रिप्ट को उन तक पहुँचने से भी रोकेगा)। यह प्रमाणीकरण कुकीज़ के साथ विशेष रूप से महत्वपूर्ण है, जिसका उपयोग उस उपयोगकर्ता के एक टोकन युक्त स्टोर करने के लिए किया जाता है जो लॉग ऑन है - यदि आपके पास उस कुकी की एक प्रति है तो सभी इरादों और उद्देश्यों के लिए आप उस उपयोगकर्ता बन जाते हैं जहां तक वेब अनुप्रयोग है संबंधित, और उपयोगकर्ता के पास डेटा और कार्यक्षमता के लिए समान पहुंच है।
चूंकि कुकीज़ का उपयोग प्रमाणीकरण उद्देश्यों और उपयोगकर्ता डेटा की दृढ़ता के लिए किया जाता है, पृष्ठ के लिए मान्य सभी कुकीज़ ब्राउज़र से हर सर्वर के लिए सर्वर पर भेजी जाती हैं पर उसी डोमेन के अनुरोध के लिए - इसमें मूल पृष्ठ अनुरोध, बाद के किसी भी अजाक्स अनुरोध, सभी छवियां शामिल हैं, स्टाइलशीट, स्क्रिप्ट, और फोंट। इस कारण से, बड़ी मात्रा में जानकारी संग्रहीत करने के लिए कुकीज़ का उपयोग नहीं किया जाना चाहिए। ब्राउज़र उन सूचनाओं के आकार पर सीमाएं भी लगा सकता है जिन्हें कुकीज़ में संग्रहीत किया जा सकता है। आमतौर पर कुकीज़ का उपयोग प्रमाणीकरण, सत्र और विज्ञापन ट्रैकिंग के लिए टोकन की पहचान करने के लिए किया जाता है। टोकन आम तौर पर अपने आप में और अपने अनुप्रयोग या डेटाबेस से जुड़े एन्क्रिप्टेड पहचानकर्ताओं के लिए मानव पठनीय जानकारी नहीं हैं।
क्षमताओं के संदर्भ में, कुकीज, सेशनस्टोरेज और लोकलस्टोरेज आपको केवल स्ट्रिंग्स को स्टोर करने की अनुमति देते हैं - सेटिंग करते समय आदिम मूल्यों को स्पष्ट रूप से परिवर्तित करना संभव है (इन्हें पढ़ने के बाद उन्हें अपने प्रकार के रूप में उपयोग करने के लिए वापस बदलना होगा) लेकिन ऑब्जेक्ट्स या ऐरे नहीं (यह संभव है कि JSON सीरीज़ उन्हें एपीआई का उपयोग करके स्टोर कर सके)। सत्र भंडारण आम तौर पर आप अपने सर्वर साइड भाषा / ढांचे द्वारा समर्थित किसी भी आदिम या वस्तुओं को संग्रहीत करने की अनुमति देगा।
जैसा कि HTTP एक स्टेटलेस प्रोटोकॉल है - वेब एप्लिकेशन के पास वेब साइट पर लौटने पर पिछली यात्राओं के उपयोगकर्ता की पहचान करने का कोई तरीका नहीं है - सत्र डेटा आमतौर पर रिपीट विज़िट के लिए उपयोगकर्ता की पहचान करने के लिए कुकी टोकन पर निर्भर करता है (हालांकि शायद ही कभी URL मापदंडों का उपयोग किया जा सकता है। एक ही उद्देश्य)। डेटा में आमतौर पर एक स्लाइडिंग समाप्ति समय होगा (प्रत्येक बार उपयोगकर्ता के दौरे का नवीनीकरण), और आपके सर्वर / फ्रेमवर्क डेटा के आधार पर या तो इन-प्रोसेस में संग्रहीत किया जाएगा (मतलब वेब सर्वर क्रैश होने या फिर से चालू होने पर डेटा खो जाएगा) या बाहरी रूप से एक राज्य सर्वर या डेटाबेस। वेब-फ़ार्म (किसी वेबसाइट के लिए एक से अधिक सर्वर) का उपयोग करते समय भी यह आवश्यक है।
जैसा कि सत्र डेटा आपके एप्लिकेशन (सर्वर साइड) द्वारा पूरी तरह से नियंत्रित किया जाता है, यह प्रकृति में संवेदनशील या सुरक्षित किसी भी चीज के लिए सबसे अच्छी जगह है।
सर्वर-साइड डेटा का स्पष्ट नुकसान स्केलेबिलिटी है - सत्र की अवधि के लिए प्रत्येक उपयोगकर्ता के लिए सर्वर संसाधनों की आवश्यकता होती है, और यह कि किसी भी ग्राहक की आवश्यकता वाले डेटा पक्ष को प्रत्येक अनुरोध के साथ भेजा जाना चाहिए। चूंकि सर्वर को यह जानने का कोई तरीका नहीं है कि क्या उपयोगकर्ता किसी अन्य साइट पर नेविगेट करता है या अपने ब्राउज़र को बंद करता है, तो सत्र डेटा को सभी सर्वर संसाधनों को छोड़ दिए गए सत्रों से बचने के लिए निश्चित समय के बाद समाप्त होना चाहिए। सत्र डेटा का उपयोग करते समय, आपको इस संभावना से अवगत होना चाहिए कि डेटा समाप्त हो गया होगा और खो जाएगा, विशेष रूप से लंबे रूपों वाले पृष्ठों पर। यह भी खो जाएगा यदि उपयोगकर्ता अपने कुकीज़ या स्विच ब्राउज़रों / उपकरणों को हटा देता है।
कुछ वेब फ्रेमवर्क / डेवलपर्स सत्र समाप्ति से बचने के लिए प्रपत्र के एक पृष्ठ से दूसरे तक डेटा को बनाए रखने के लिए छिपे हुए HTML इनपुट का उपयोग करते हैं।
लोकलस्टोरेज, सेशनस्टोरेज और कुकीज सभी "समान-मूल" नियमों के अधीन हैं, जिसका अर्थ है कि ब्राउज़र को डेटा तक पहुंच को रोकना चाहिए, केवल उस डोमेन को छोड़कर, जिसके साथ जानकारी शुरू करनी है।
क्लाइंट स्टोरेज तकनीकों पर आगे पढ़ने के लिए Html 5 में गोता लगाएँ ।
sessionStorage
जब विंडो बंद हो जाएगी, या टैब हटा दिया जाएगा ?
पेशेवरों :
विपक्ष :
पेशेवरों:
विपक्ष:
डेटा को हर HTTP अनुरोध (HTML, चित्र, जावास्क्रिप्ट, सीएसएस, आदि) के लिए सर्वर पर वापस भेजा जाता है - क्लाइंट और सर्वर के बीच यातायात की मात्रा में वृद्धि।
आमतौर पर, निम्नलिखित की अनुमति है:
पेशेवरों:
localStorage
।विपक्ष:
localStorage
, यह समान-मूल नीति पर काम करता है । तो, संग्रहीत डेटा केवल उसी मूल पर उपलब्ध होगा।क्रॉस-ऑरिजिनल ब्राउज़र टैब के बीच आसान संचार की सुविधा के लिए - चेकआउट ऑल- टैब्स।
ठीक है, लोकलस्टोरेज , क्योंकि इसे आपके ब्राउज़र के लिए लोकल स्टोरेज कहा जाता है, यह 10MB तक की बचत कर सकता है , SessionStorage भी ऐसा ही करता है, लेकिन जैसा कि यह नाम कह रहा है, यह सत्र आधारित है और आपके ब्राउज़र को बंद करने के बाद हटा दिया जाएगा, लोकलस्टोरेज से भी कम बचा सकता है। 5MB तक पसंद है , लेकिन कुकीज़ आपके ब्राउज़र में बहुत छोटे डेटा स्टोर कर रहे हैं, जो 4KB को बचा सकते हैं और सर्वर या ब्राउज़र दोनों के माध्यम से एक्सेस किया जा सकता है ...
मैंने एक नज़र में अंतर दिखाने के लिए नीचे की छवि भी बनाई:
ये जावास्क्रिप्ट में 'विंडो' ऑब्जेक्ट के गुण हैं, जैसे दस्तावेज़ विंडो ऑब्जेक्ट की एक संपत्ति है जो डोम ऑब्जेक्ट्स को रखती है।
सेशन स्टोरेज प्रॉपर्टी प्रत्येक दिए गए मूल के लिए एक अलग स्टोरेज एरिया बनाए रखती है जो पेज सेशन की अवधि के लिए उपलब्ध है यानी जब तक ब्राउजर खुला रहता है, जिसमें पेज रीलोड और रीस्टोर शामिल हैं।
लोकल स्टोरेज वही काम करता है, लेकिन ब्राउजर के बंद होने और फिर से खोलने पर भी कायम रहता है।
आप संग्रहीत डेटा को निम्नानुसार सेट और पुनर्प्राप्त कर सकते हैं:
sessionStorage.setItem('key', 'value');
var data = sessionStorage.getItem('key');
इसी तरह लोकलस्टोरीज के लिए।
sessionStorage
यहां तक कि एक नया टैब एक नई विंडो है। तो एक टैब में एक विशिष्ट डोमेन के लिए संग्रहीत कुछ भी अगले टैब में उसी डोमेन के लिए उपलब्ध नहीं होगा।
स्थानीय भंडारण: यह उपयोगकर्ता की जानकारी के डेटा को समाप्ति तिथि के बिना संग्रहीत करता है यह डेटा तब नहीं हटाया जाएगा जब उपयोगकर्ता ब्राउज़र विंडो बंद कर देगा, यह दिन, सप्ताह, महीने और वर्ष के लिए उपलब्ध होगा।
लोकल स्टोरेज में 5-10mb ऑफलाइन डाटा स्टोर कर सकते हैं।
//Set the value in a local storage object
localStorage.setItem('name', myName);
//Get the value from storage object
localStorage.getItem('name');
//Delete the value from local storage object
localStorage.removeItem(name);//Delete specifice obeject from local storege
localStorage.clear();//Delete all from local storege
सत्र संग्रहण: यह लोकल स्टोरेज डेट की तरह ही है, सिवाय इसके कि जब कोई वेब यूजर द्वारा ब्राउजर विंडो को बंद किया जाता है तो वह सभी विंडो को डिलीट कर देगा।
सत्र में भंडारण 5 एमबी डेटा तक स्टोर कर सकता है
//set the value to a object in session storege
sessionStorage.myNameInSession = "Krishna";
अधिवेशन : एक सत्र सर्वर पर संग्रहीत एक वैश्विक चर है। प्रत्येक सत्र को एक अद्वितीय आईडी दी जाती है जिसका उपयोग संग्रहीत मूल्यों को प्राप्त करने के लिए किया जाता है।
कुकीज़ : कुकीज़ डेटा हैं, जो आपके कंप्यूटर पर नाम-मूल्य जोड़े के रूप में छोटी पाठ फ़ाइलों में संग्रहीत हैं। एक बार कुकी सेट हो जाने के बाद, सभी पृष्ठ अनुरोध करते हैं कि कुकी नाम और मान वापस करें।
वेब स्टोरेज एपीआई तंत्र प्रदान करता है जिसके द्वारा ब्राउज़र कुकीज़ का उपयोग करने की तुलना में बहुत अधिक सहज तरीके से कुंजी / मूल्य जोड़े को सुरक्षित रूप से संग्रहीत कर सकते हैं। वेब संग्रहण एपीआई फैली Window
दो नए गुणों के साथ वस्तु - Window.sessionStorage
और Window.localStorage
। - इनमें से किसी एक को संग्रहित करने से स्टोरेज ऑब्जेक्ट का एक उदाहरण बन जाएगा, जिसके माध्यम से डेटा आइटम सेट, पुनर्प्राप्त और निकाले जा सकते हैं। एक भिन्न संग्रहण ऑब्जेक्ट का उपयोग प्रत्येक मूल (डोमेन) के लिए sessionStorage
और उसके localStorage
लिए किया जाता है ।
स्टोरेज ऑब्जेक्ट्स के समान सरल की-वैल्यू स्टोर हैं, लेकिन वे पेज लोड के माध्यम से बरकरार रहते हैं ।
localStorage.colorSetting = '#a4509b';
localStorage['colorSetting'] = '#a4509b';
localStorage.setItem('colorSetting', '#a4509b');
कुंजी और मूल्य हमेशा तार होते हैं । किसी भी प्रकार को स्टोर करने के लिएconvert it to String
और फिर इसे स्टोर करें। यह हमेशाStorage interface
तरीकोंका उपयोग करने के लिए अनुशंसित है।
var testObject = { 'one': 1, 'two': 2, 'three': 3 };
// Put the object into storage
localStorage.setItem('testObject', JSON.stringify(testObject));
// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');
console.log('Converting String to Object: ', JSON.parse(retrievedObject));
वेब स्टोरेज के भीतर दो तंत्र इस प्रकार हैं:
भंडारण « स्थानीय भंडारण डेटा को डिस्क पर लिखता है, जबकि सत्र भंडारण डेटा को केवल मेमोरी में लिखता है। सत्र संग्रहण में लिखा गया कोई भी डेटा आपके ऐप से बाहर निकलने पर शुद्ध हो जाता है।
अधिकतम भंडारण उपलब्ध ब्राउज़र प्रति अलग है , लेकिन अधिकांश ब्राउज़र को लागू किया है कम से कम W3C की अधिकतम संग्रहण सीमा की सिफारिश की 5MB ।
+----------------+--------+---------+-----------+--------+
| | Chrome | Firefox | Safari | IE |
+----------------+--------+---------+-----------+--------+
| LocalStorage | 10MB | 10MB | 5MB | 10MB |
+----------------+--------+---------+-----------+--------+
| SessionStorage | 10MB | 10MB | Unlimited | 10MB |
+----------------+--------+---------+-----------+--------+
हमेशा लोकलस्टोरेज सिक्योरिटी और कोटा से अधिक की त्रुटियों को पकड़ें
QuotaExceededError : जब इस फ़ंक्शन पर संग्रहण सीमाएँ अधिक हो जाती हैं window.sessionStorage.setItem(key, value);
, तो यह "QuotaExceededError" DOMException अपवाद फेंकता है यदि नया मान सेट नहीं किया जा सकता है। (सेटिंग विफल हो सकती है, उदाहरण के लिए, उपयोगकर्ता ने साइट के लिए भंडारण को अक्षम कर दिया है, या यदि कोटा पार हो गया है।)
DOMException। QUOTA_EXCEEDED_ERR 22 है , उदाहरण फिडल ।
SecurityError :Uncaught SecurityError: Access to 'localStorage' is denied for this document
।
CHROME:-Privacy and security « Content settings « Cookies « Block third-party cookies.
StorageEvent «भंडारण घटना एक दस्तावेज़ की विंडो ऑब्जेक्ट पर निकाल दिया जाता है जब एक भंडारण क्षेत्र बदलता है। जब कोई उपयोगकर्ता एजेंट किसी दस्तावेज़ के लिए संग्रहण सूचना भेजता है, तो उपयोगकर्ता एजेंट को StorageEvent का उपयोग करके दस्तावेज़ ऑब्जेक्ट की विंडो ऑब्जेक्ट में संग्रहण नामक एक घटना को फायर करने के लिए कार्य को कतारबद्ध करना होगा।
नोट: एक वास्तविक दुनिया उदाहरण के लिए, वेब स्टोरेज डेमो देखें ।स्रोत कोड देखें
स्टोरेज में परिवर्तन को पकड़ने के लिए डोम / विंडो पर स्टोरेज इवेंट को सुनें। बेला ।
कुकीज़ (वेब कुकी, ब्राउज़र कुकी) कुकीज़ डेटा हैं, जो आपके कंप्यूटर पर नाम-मूल्य जोड़े के रूप में छोटी पाठ फ़ाइलों में संग्रहीत हैं।
Document.cookie का उपयोग करके जावास्क्रिप्ट का उपयोग
डॉक्यूमेंट.कोकी प्रॉपर्टी का उपयोग करके जावास्क्रिप्ट के माध्यम से नई कुकीज़ भी बनाई जा सकती हैं, और अगर HttpOnly ध्वज सेट नहीं है, तो मौजूदा कुकीज़ को जावास्क्रिप्ट से भी एक्सेस किया जा सकता है।
document.cookie = "yummy_cookie=choco";
document.cookie = "tasty_cookie=strawberry";
console.log(document.cookie);
// logs "yummy_cookie=choco; tasty_cookie=strawberry"
सुरक्षित और HttpOnly कुकीज़ HTTP राज्य प्रबंधन तंत्र
उपयोगकर्ता और उनके प्रमाणित सत्र की पहचान करने के लिए कुकीज़ का उपयोग अक्सर वेब एप्लिकेशन में किया जाता है
HTTP अनुरोध प्राप्त करते समय, एक सर्वर प्रतिक्रिया के साथ सेट-कुकी हेडर भेज सकता है । कुकी आमतौर पर ब्राउज़र द्वारा संग्रहीत की जाती है, और फिर कुकी को HTTP HTTP हेडर के अंदर एक ही सर्वर पर किए गए अनुरोधों के साथ भेजा जाता है।
Set-Cookie: <cookie-name>=<cookie-value>
Set-Cookie: <cookie-name>=<cookie-value>; Expires=<date>
जब क्लाइंट बंद हो जाता है तो सत्र कुकीज निकाल दी जाएंगी। वे समयसीमा या अधिकतम-आयु निर्देशों को निर्दिष्ट नहीं करते हैं।
Set-Cookie: sessionid=38afes7a8; HttpOnly; Path=/
स्थायी कुकीज़ एक विशिष्ट तिथि (समय सीमा) या एक विशिष्ट लंबाई (अधिकतम-आयु) के बाद समाप्त हो जाती हैं।
Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly
कुकी HTTP अनुरोध शीर्षलेख में सर्वर द्वारा पूर्व में सेट-कुकी शीर्षलेख के साथ संग्रहीत HTTP कुकीज़ शामिल हैं। HTTP- केवल कुकीज़ डॉक्यूमेंट.कोकी प्रॉपर्टी, XMLHttpRequest और अनुरोध एपीआई के माध्यम से क्रॉस-साइट स्क्रिप्टिंग (XSS) के खिलाफ हमलों को कम करने के लिए जावास्क्रिप्ट के माध्यम से सुलभ नहीं हैं।
कुकीज़ मुख्य रूप से तीन उद्देश्यों के लिए उपयोग की जाती हैं:
"उपयोगकर्ता के बारे में जानकारी कैसे याद रखें" समस्या को हल करने के लिए कुकीज़ का आविष्कार किया गया था:
GitHubGist उदाहरण
सारांश के रूप में,
स्थानीय स्तर :
वेब स्टोरेज को कुकीज़ पर सुधार के रूप में सरलता से देखा जा सकता है, जिससे भंडारण क्षमता अधिक हो जाती है। उपलब्ध आकार 5 एमबी है जो एक विशिष्ट 4KB कुकी की तुलना में काम करने के लिए काफी अधिक स्थान है।
हर HTTP अनुरोध (HTML, चित्र, जावास्क्रिप्ट, सीएसएस, आदि) के लिए डेटा को सर्वर पर वापस नहीं भेजा जाता है - क्लाइंट और सर्वर के बीच यातायात की मात्रा को कम करता है।
स्थानीयस्टोरेज में संग्रहीत डेटा स्पष्ट रूप से हटाए जाने तक बना रहता है। किए गए परिवर्तन सहेजे गए हैं और साइट पर सभी वर्तमान और भविष्य की यात्राओं के लिए उपलब्ध हैं।
यह समान-मूल नीति पर काम करता है। तो, संग्रहीत डेटा केवल उसी मूल पर उपलब्ध होगा।
कुकीज़:
हम प्रत्येक कुकी के लिए समाप्ति समय निर्धारित कर सकते हैं
4K कुकी संपूर्ण कुकी के लिए है, जिसमें नाम, मान, समाप्ति तिथि आदि शामिल हैं। अधिकांश ब्राउज़रों का समर्थन करने के लिए, नाम को 4000 बाइट्स और 4093 बाइट्स के तहत समग्र कुकी आकार के अंतर्गत रखें।
डेटा को हर HTTP अनुरोध (HTML, चित्र, जावास्क्रिप्ट, सीएसएस, आदि) के लिए सर्वर पर वापस भेजा जाता है - क्लाइंट और सर्वर के बीच यातायात की मात्रा में वृद्धि।
sessionStorage:
परिवर्तन केवल प्रति विंडो (या क्रोम और फ़ायरफ़ॉक्स जैसे ब्राउज़र में टैब) उपलब्ध हैं। किए गए परिवर्तन वर्तमान पृष्ठ के लिए सहेजे जाते हैं और उपलब्ध होते हैं, साथ ही भविष्य की साइट पर उसी विंडो पर जाते हैं। एक बार विंडो बंद होने के बाद, स्टोरेज डिलीट हो जाता है। डेटा केवल उस विंडो / टैब के अंदर उपलब्ध होता है, जिसमें इसे सेट किया गया था।
डेटा लगातार नहीं है यानी विंडो / टैब बंद होने के बाद यह खो जाएगा। स्थानीयस्टोरेज की तरह, यह समान-मूल नीति पर काम करता है। तो, संग्रहीत डेटा केवल उसी मूल पर उपलब्ध होगा।