HTTP एक "स्टेटलेस" प्रोटोकॉल है जिसका अर्थ है कि जब भी कोई क्लाइंट वेबपेज को पुनः प्राप्त करता है, क्लाइंट वेब सर्वर से एक अलग कनेक्शन खोलता है और सर्वर स्वचालित रूप से पिछले क्लाइंट अनुरोध का कोई रिकॉर्ड नहीं रखता है।
वेब क्लाइंट और सर्वर के बीच सत्र बनाए रखना
आइए अब वेब क्लाइंट और वेब सर्वर के बीच सत्र को बनाए रखने के लिए कुछ विकल्पों पर चर्चा करें -
कुकी
एक वेबसर्वर प्रत्येक वेब क्लाइंट को कुकी के रूप में एक अद्वितीय सत्र आईडी निर्दिष्ट कर सकता है और क्लाइंट के बाद के अनुरोधों के लिए उन्हें प्राप्त कुकी का उपयोग करके पहचाना जा सकता है।
यह एक प्रभावी तरीका नहीं हो सकता है क्योंकि कभी-कभी ब्राउज़र कुकी का समर्थन नहीं करता है। सत्रों को बनाए रखने के लिए इस प्रक्रिया का उपयोग करने की अनुशंसा नहीं की जाती है।
छिपी हुई फ़ॉर्म फ़ील्ड
एक वेब सर्वर एक अद्वितीय सत्र आईडी के साथ एक छिपे हुए HTML फॉर्म फ़ील्ड को निम्नानुसार भेज सकता है -
<input type = "hidden" name = "sessionid" value = "12345">
इस प्रविष्टि का अर्थ है कि, जब फ़ॉर्म सबमिट किया जाता है, तो निर्दिष्ट नाम और मान स्वचालित रूप से GET में शामिल हो जाते हैं या पोस्ट जानकारी। हर बार जब वेब ब्राउज़र अनुरोध को वापस भेजता है, तो session_id मूल्य का उपयोग विभिन्न वेब ब्राउज़रों पर नज़र रखने के लिए किया जा सकता है।
यह सत्र पर नज़र रखने का एक प्रभावी तरीका हो सकता है, लेकिन नियमित () हाइपरटेक्स्ट लिंक पर क्लिक करने से फ़ॉर्म सबमिशन नहीं होता है, इसलिए छिपे हुए फ़ॉर्म फ़ील्ड भी सामान्य सत्र ट्रैकिंग का समर्थन नहीं कर सकते हैं।
यूआरएल पुनर्लेखन
आप प्रत्येक URL के अंत में कुछ अतिरिक्त डेटा जोड़ सकते हैं। यह डेटा सत्र की पहचान करता है; सर्वर उस सत्र पहचानकर्ता को उस सत्र के बारे में संग्रहीत डेटा के साथ संबद्ध कर सकता है।
उदाहरण के लिए, https://tutorialspoint.com/file.htm;sessionid=12345 के साथ , सत्र पहचानकर्ता sessionid =12345 . के रूप में संलग्न है जिसे क्लाइंट की पहचान करने के लिए वेब सर्वर पर एक्सेस किया जा सकता है।
जब ब्राउज़र कुकीज़ का समर्थन नहीं करते हैं तो URL पुनर्लेखन सत्रों को बनाए रखने और ब्राउज़र के लिए काम करने का एक बेहतर तरीका है। यहां दोष यह है कि आपको सत्र आईडी निर्दिष्ट करने के लिए प्रत्येक URL को गतिशील रूप से उत्पन्न करना होगा, हालांकि पृष्ठ एक साधारण स्थिर HTML पृष्ठ है।