session management in hindi
HTTP एक स्टेटलेस प्रोटोकॉल है अर्थात किसी यूज़र की स्टेट सुरक्षित नहीं रहती अतः कोई भी क्लाइंट किसी भी वेबपेज को Retrieve करता हैं तब वह हमेशा एक सेपरेट कनेक्शन बनाता है|
और सर्वर के पास क्लाइंट की पिछली Requests के विषय में कोई जानकारी नहीं होती है अधिकतर वेब एप्लीकेशन निकला इनको एक विशिष्ट कार्य करने के लिए विभिन्न पेज पर विजिट करना पड़ता है अतः सभी पेज पर क्लाइंट स्टेट को सुरक्षित करना आवश्यक होता है|
आइए हम एक उदाहरण की सहायता से समझते हैं
एक व्यक्ति को ट्रेन की टिकट का रिजर्वेशन कराना है तो उसे कहां से कहां जाना है और यात्री की दिनांक रिजर्वेशन कैटेगरी, सीट का चुनाव और अत्यंत रिजर्वेशन का भुगतान करना होता है
इन सभी कार्यों को करने के लिए क्लाइंट को बहुत पेजेज पर जाना होता है और सभी पेजेज पर क्लाइंट स्टेट की जानकारी का होना अनिवार्य होता है |
इसी प्रकार यदि व्यक्ति ऑनलाइन कुछ खरीदना चाहता है तो उसे अपनी आवश्यकता की चीजों को बहुत पेजेजsession management in hindi से एकत्रित करके अपनी शॉपिंग कार्ट डालना होता है और उसका भुगतान करता है
इनमें से बहुत पेजेज में से प्रत्येक बीज पर उचित क्लाइंट स्टेट होना अनिवार्य होता है
दोनों उदाहरण में सर्वर पर Customer वेब एप्लीकेशन के बीच वार्तालाप सम्मिलित है अतः प्रत्येक क्षण सर्वर के पास क्लाइंट की Conversational स्टेट होना जरूरी होता है
एक वेब एप्लीकेशन निम्नलिखित विधियों का प्रयोग करके क्लाइंट को स्टेट बनाए रह सकती है
- कुकीज़ ( Cookies )
- हिडन फील्ड्स ( Hidden Fields )
- यूआरएल रि राइटिंग ( URL Rewriting )
Cookies विधि
एक वेब सर्वर प्रत्येक वेब क्लाइंट को कुकी के रूप में सेशन ID प्रदान कर सकता है और क्लाइंट से आने वाली अगली Requsets को प्राप्त कुकी की सहायता से पता session management in hindi Identify कर सकता है |
यह एक उपयुक्त विधि नहीं हो सकती क्योंकि कुछ ब्राउज़र को कुकीज़ सपोर्ट नहीं कर सकते हैं अतः Session पर कार्य करने के लिए इस बीच का प्रयोग नहीं किया जा सकता है |
Hidden Fields विधि
इस विधि के अंतर्गत क्लाइंट स्टेट को सर्वर से क्लाइंट के पास भेजा जाता है और क्लाइंट से पुनः क्लाइंट स्टेट को Form की हिडन फील्ड बनाकर सर्वर के पास भेजा जाता हैं एक वेब सर्वर किसी विशिष्ट Session ID को HTML Form की एक हिडन के रूप में निम्न प्रकार से लिया जा सकता है|
<input type = " hidden " name = " sessionid "value= "123">
इस एन्ट्री का अर्थ यह है कि जब फॉर्म को Submit किया जाता है तो विशेष नाम और वैल्यू को स्वत: ही GET अथवा POST Date से सम्मिलित कर दिया जाता है जब भी वेब ब्राउज़र पुनः Request भेजता है तब Session id की सहायता से विभिन्न वेब ब्राउज़र के बीच अंतर को Track करने में प्रयोग किया जाता है |
<%
int n;
if (request.getParameter("counter " ) == null) n=1;
else
{
n=Integer.parseInt(request.getParameter("counter "))+1;
}
%>
<html>
<h1>Page conter using hidden fields </h1>
<form action ="index .jsp "method="get">
This is your access number <%=n%><p>
value=<%=String.value0f (n)%>>
<input type="submit" value="New access">
</form>
</html>
URL Fewriting विधि
हम प्रत्येक URL अंत में कुछ अतिरिक्त डेटा को जोड़ सकते हैं यह अतिरिक्त डेटा सेशन को Identify करता है सर्वर इस सेशन Identify की सहायता से विशिष्ट सेशन session management in hindi के लिए सुरक्षित किए गए डाटा को प्राप्त कर सकता है |
उदाहरण के लिए http://www.python12.com/file.html;sessionid=789यहां sessionid =789 को सेशन Identify से रूप से जोड़ा गया है इसका प्रयोग वेब सर्वर द्वारा क्लाइंट्स को एक्सेस करने के लिए किया जाता है |
<%
int n;
if (request.getParameter("counter " ) == null) n=1;
else
{
n=Integer.parseInt(request.getParameter("counter "))+1;
}
%>
<html>
<h1>Page conter using hidden fields </h1>
<form action ="index .jsp "method="get">
This is your access number <%=n%><p>
<p>
<a href="index.jsp?counter =<%=String.value0f(n)%>">
New access </a>
</html>
URL को पुनः लिखना सेशन को मेन्टेन करने के लिए एक बेहतर विधि क्योंकि यह उन ब्राउज़र भी कार्य करके जी कुकी को सपोर्ट नहीं करते हैं
Node
इस विधि की एक हानियां है कि
हमें प्रत्येक URL पर एक Sission ID को डायनेमिकली Assign करना पड़ता है क्योंकि पेज एक सरल HTML पेज होता है |
Session Management in API
सेशन्स को मैनेज करने के लिए निम्नलिखित क्लासेज और इन्टरफेसेज सर्वलेट और JSP API द्वारा प्रदान किया जाता है |
- HttpSession
- HttpServlet Request
- HttpServlet Response
- Cookie
अपने सेशन से संबंधित ऑब्जेक्ट्स पर कार्य करने के लिए निम्नलिखित क्लासेज और इंटरफेसेज प्रदान करती है |
- HttpSessionActivationListener
- HttpSessionAttributeListener
- HttpSessionListener
- HttpSessionBinding Listener
- HttpSessionBindingEvent
- HttpSessionEvent
सर्वलेट और JSP पेज को एक ऐसी Request जो कि सेशन को सपोर्ट करती है और इसे मैनेज करने के लिए निम्नलिखित कार्य करना होता है |
सेशन बनाना / पहचानना ( Session Creation / Identification )
पहले से बना सेशन में से पहचानना किस में से कौन-कौन सा सेशन Request से संबंधित है अथवा यदि ऐसा कोई सेशन नहीं है तो उस Request के लिए एक नया सेशन बनाना |
एट्रिब्यूट मैनेजमेंट ( Attribute Management )
सेशन ऐट्रिब्यूट्स को मैनेज करना I get /set session management in hindi ऐट्रिब्यूट्स उस सेशन से संबंधित होता है |
सेशन ट्रैकिंग ( Session Tracking )
यह सुनिश्चित करता है कि क्लाइंट को सेशन Identifier पता है ताकि समान क्लाइंट से आने वाली अगली Requests को समान सेशन के साथ जोड़ा जा सके |
सेशन डिस्ट्रक्शन ( Session Distruction )
यह सेशन को नष्ट करने के लिए प्रयोग किया जाता है
1 टिप्पणियाँ
Thanks bho
जवाब देंहटाएं