सेशन स्टोरेज ब्राउज़र में डेटा सिर्फ़ तब तक सेव रखता है जब तक टैब खुला है। जानें यह कैसे काम करता है, लोकल स्टोरेज से कैसे अलग है और वेबसाइट इसे किसलिए इस्तेमाल करती हैं।
सोचिए अगर कोई वेबसाइट आपकी विज़िट सहज बनाने भर को याद रख सके, और आपके जाने के बाद कुछ भी न रखे? कोई बचा हुआ डेटा नहीं, कोई सेव की हुई पसंद नहीं, कुछ भी टिका हुआ नहीं। बस सही पल के लिए सही जानकारी, और फिर वह चली जाए। यही सेशन स्टोरेज का विचार है, और यह जितना पहले लगे उससे ज़्यादा काम का है।
अगर आप लोकल स्टोरेज वाला चैप्टर पढ़ चुके हैं, तो आप जानते हैं कि वह ब्राउज़र बंद होने के बाद भी डेटा ज़िंदा रखता है। सेशन स्टोरेज उलटा रास्ता लेता है। यह अस्थायी होने के लिए बना है, और यह कमी नहीं है। यह जान-बूझकर रखी गई ख़ूबी है।
सेशन स्टोरेज क्या है?
सेशन स्टोरेज एक तरह का ब्राउज़र स्टोरेज है जो डेटा को ब्राउज़र टैब के सेशन की अवधि तक सेव रखता है। जब तक टैब खुला है, डेटा उपलब्ध है। विज़िटर के उस टैब को बंद करते ही सेशन स्टोरेज अपने आप साफ़ हो जाता है। उसी वेबसाइट को नए टैब में खोलें तो सेशन स्टोरेज बिना किसी चीज़ के नए सिरे से शुरू होता है।
लोकल स्टोरेज की तरह, सेशन स्टोरेज भी की-वैल्यू स्टोर की तरह काम करता है। वेबसाइट एक लेबल और एक मान के साथ डेटा लिखती हैं, और लेबल ढूँढकर उसे निकालती हैं। फ़र्क़ सिर्फ़ इसमें है कि डेटा कितनी देर रहता है। लोकल स्टोरेज अनिश्चित काल तक टिकता है। सेशन स्टोरेज टैब के साथ ही जीता और ख़त्म होता है।
सेशन स्टोरेज लोकल स्टोरेज से कैसे अलग है?
मुख्य फ़र्क़ टिके रहने का है। लोकल स्टोरेज का डेटा तब तक ब्राउज़र में रहता है जब तक उसे हाथ से डिलीट न किया जाए। सेशन स्टोरेज का डेटा टैब बंद होते ही ग़ायब हो जाता है। इसलिए ये अलग हालात के लिए ठीक हैं।
सेशन स्टोरेज टैब के हिसाब से भी अलग होता है। अगर विज़िटर ने वही वेबसाइट दो अलग टैब में खोली है, तो हर टैब का अपना अलग सेशन स्टोरेज होता है। वे आपस में डेटा शेयर नहीं करते। दूसरी तरफ़, लोकल स्टोरेज एक ही ब्राउज़र में उसी वेबसाइट के सभी टैब के बीच शेयर होता है।
वेबसाइट सेशन स्टोरेज का इस्तेमाल किसलिए करती हैं?
सेशन के भीतर प्रगति ट्रैक करना
कई स्टेप वाले फ़ॉर्म और चेकआउट फ़्लो अक्सर सेशन स्टोरेज से प्रगति रखते हैं, जब विज़िटर एक स्टेप से अगले पर जाता है। अगर वे पिछले स्टेप पर लौटते हैं, तो उनके जवाब वहीं रहते हैं। सेशन ख़त्म होते ही वह अस्थायी डेटा चला जाता है, जो चेकआउट जैसी प्रक्रिया के लिए ठीक वही है जो चाहिए।
अस्थायी UI स्थिति
साइडबार खुला है या नहीं, कौन सा टैब चुना है, या विज़िटर लंबी लिस्ट में कितना स्क्रोल कर चुका है, ये सब अस्थायी स्थितियाँ हैं जिन्हें विज़िट के दौरान रखना ठीक है, पर विज़िटर के जाने के बाद इनकी कोई क़ीमत नहीं। सेशन स्टोरेज इसे साफ़-सुथरे ढंग से संभालता है।
संवेदनशील संदर्भ को थोड़े समय का रखना
विज़िट के दौरान यूज़र के मौजूदा संदर्भ से जुड़ी किसी भी चीज़ के लिए सेशन स्टोरेज लोकल स्टोरेज से सुरक्षित विकल्प है, क्योंकि डेटा अपने आप साफ़ हो जाता है। विज़िट ख़त्म होने के बाद संवेदनशील संदर्भ के ब्राउज़र में टिके रहने का कोई जोखिम नहीं रहता।
सेशन स्टोरेज कब इस्तेमाल करें और लोकल स्टोरेज कब
चुनाव एक सवाल पर आता है: क्या यह डेटा मौजूदा टैब सेशन से आगे बचना चाहिए? अगर हाँ, तो लोकल स्टोरेज सही औज़ार है। अगर डेटा सिर्फ़ मौजूदा विज़िट में काम का है और आगे नहीं जाना चाहिए, तो सेशन स्टोरेज बेहतर है।
संवेदनशील डेटा के लिए दोनों सही नहीं हैं। पासवर्ड, पेमेंट की जानकारी और निजी जानकारी हमेशा सर्वर की तरफ़ सही SSL एन्क्रिप्शन के साथ संभालनी चाहिए, ब्राउज़र में कभी स्टोर नहीं करनी चाहिए। ब्राउज़र स्टोरेज के सभी विकल्पों और उनकी तुलना की पूरी तस्वीर के लिए ब्राउज़र स्टोरेज के प्रकार पढ़ें।
अक्सर पूछे जाने वाले सवाल
क्या सेशन स्टोरेज ब्राउज़र बंद होने पर साफ़ होता है, या सिर्फ़ टैब बंद होने पर?
सेशन स्टोरेज उसी ख़ास टैब के बंद होने पर साफ़ होता है। अगर विज़िटर के कई टैब खुले हैं और वह एक बंद करता है, तो सिर्फ़ उसी टैब का सेशन स्टोरेज साफ़ होता है। बाक़ी टैब अपना सेशन स्टोरेज रखते हैं। अगर पूरा ब्राउज़र बंद हो जाए, तो सभी टैब का सारा सेशन स्टोरेज मिट जाता है, क्योंकि उसी पल सभी सक्रिय सेशन ख़त्म हो जाते हैं।
क्या एक ही वेबसाइट के दो टैब सेशन स्टोरेज शेयर कर सकते हैं?
नहीं। सेशन स्टोरेज हर टैब के लिए अलग रहता है। अगर वही वेबसाइट दो अलग टैब में खुली है, तो हर टैब का अपना सेशन स्टोरेज है, जिसे दूसरा टैब पढ़ या लिख नहीं सकता। यह लोकल स्टोरेज से अलग है, जो एक ही ब्राउज़र में उसी वेबसाइट के सभी टैब में शेयर होता है।
क्या सेशन स्टोरेज लोकल स्टोरेज से ज़्यादा सुरक्षित है?
संवेदनशील संदर्भ के लिए यह थोड़ा बेहतर है, क्योंकि टैब बंद होने पर डेटा अपने आप साफ़ हो जाता है। लेकिन पेज पर चल रही कोई भी स्क्रिप्ट अब भी इसे एक्सेस कर सकती है, यानी यह पासवर्ड, निजी जानकारी या पेमेंट की जानकारी के लिए ठीक नहीं है। अपने आप की सफ़ाई जोखिम की अवधि घटाती है, लेकिन वही बुनियादी सुरक्षा नियम लागू रहते हैं। संवेदनशील डेटा सर्वर पर रहता है, ब्राउज़र में नहीं।
अगर विज़िटर पेज रीफ़्रेश करे तो सेशन स्टोरेज का क्या होता है?
पेज रीफ़्रेश करने से सेशन स्टोरेज साफ़ नहीं होता। जब तक टैब खुला रहता है, डेटा पेज रीलोड के बाद भी बना रहता है। इसलिए सेशन स्टोरेज उसी विज़िट में रीफ़्रेश के बीच स्थिति रखने के काम आता है, जैसे फ़ॉर्म को आधा भरा रखना, और वह डेटा विज़िटर के जाने के बाद साथ नहीं जाता।
सेशन स्टोरेज कितना डेटा रख सकता है?
सेशन स्टोरेज की क्षमता लगभग लोकल स्टोरेज जितनी ही है, ब्राउज़र के हिसाब से हर टैब के लिए लगभग 5 से 10 मेगाबाइट। अस्थायी UI स्थिति और चल रहे फ़ॉर्म के डेटा के लिए यह काफ़ी से ज़्यादा है। बड़े डेटासेट या फ़ाइलों के लिए IndexedDB ज़्यादा ठीक है।
क्या मुझे अपनी वेबसाइट पर सेशन स्टोरेज कॉन्फ़िगर करना पड़ेगा?
अगर आप वेबसाइट बिल्डर इस्तेमाल कर रहे हैं तो नहीं। फ़ॉर्म की स्थिति मैनेज करने और सेशन के भीतर की पसंद जैसी चीज़ों के लिए प्लेटफ़ॉर्म सेशन स्टोरेज अंदर ही अंदर इस्तेमाल करता है। यह आपकी तरफ़ से किसी सेटअप के बिना बैकग्राउंड में चलता है। WEMASY के वेबसाइट बिल्डर में प्लेटफ़ॉर्म ब्राउज़र स्टोरेज के सारे फ़ैसले अपने आप संभालता है, इसलिए आपके विज़िटर को बिना किसी कॉन्फ़िगरेशन के सहज अनुभव मिलता है।