2009-12-11 20 views
7

मैंने अभी वेब अनुप्रयोगों पर अंतिम परीक्षा लेनी समाप्त कर दी है। जो आसान था (हालांकि लंबे समय तक - 12 पृष्ठों) परीक्षा का आकलन करना एक प्रश्न था जो हमें सत्रों के कार्यान्वयन को कोड करने के लिए कह रहा था, जैसा कि javax.http.HttpSession द्वारा किया गया था।एचटीपीशन कैसे लागू किया गया है?

मैं स्वीकार करने के लिए नफरत है, यह मुझे स्टम्प्ड। मैं एक HashMap का उपयोग कर एक नहीं बल्कि बी एस implemetation बाहर क्रैंक और सर्वर पर एक धारावाहिक HashMap के लिए एक यादृच्छिक कुकी स्ट्रिंग मानचित्रण के साथ कुछ पागलपन था, लेकिन मैं बहुत यकीन है कि यह फर्जी है कर रहा हूँ ... और अब मुझे पता है कि यह कैसे वास्तव में मर रहा हूँ किया हुआ।

विशेष रूप से किसी ऐसे व्यक्ति के रूप में जिसने PHP का व्यापक रूप से उपयोग किया है लेकिन किसी भी कारण से सुविधा के पीछे जादू सीखने के लिए कभी भी परेशान नहीं है, मुझे सत्रों के अंतर्निहित कार्यान्वयन के बारे में और जानने में बहुत दिलचस्पी है। जे 2 ईई और PHP निश्चित रूप से, लेकिन किसी अन्य भाषा/ढांचे भी महान हैं। धन्यवाद!

उत्तर

8

मेरी समझ से - आप ही वाले हैं।

मेरी समझ क्या अनिवार्य रूप से एक MD5 "आईडी" क्लाइंट की तरफ बचाया और कुकी या संशोधित प्राप्त के माध्यम से वितरित किया जाता है के साथ कुकी से

सर्वर पक्ष पर मिलान सत्र सत्र के साथ "सत्र" डेटा एक temp फ़ाइल में सहेजा जाता है (लिनक्स पर इसे/tmp के लिए डिफ़ॉल्ट किया जाता है)। मुझे लगता है कि सत्र निर्देशिका PHP.ini फ़ाइल में सेट किया जा सकता है।

+1

+1, बहुत संक्षिप्त सारांश। यदि आप किसी डेटाबेस या अन्य सत्र डेटा के लिए अन्य स्रोत का उपयोग करना चाहते हैं, तो PHP में आप अपने स्वयं के सत्र नियंत्रण हैंडलर को भी आसानी से कार्यान्वित कर सकते हैं। अनिवार्य रूप से, एक सत्र डेटा के एक अनूठे सेट है जिसमें कुछ तरीकों से बातचीत करने के लिए (सहेजें, अपडेट करें, हटाएं), और डेटा को एक छोटे से पहचाने जाने योग्य टोकन के माध्यम से उपयोगकर्ता से जोड़ा जाता है, यानी। एक कुकी या जीईटी पैरामीटर। – zombat

+1

शायद यह कहने लायक है कि कुकीज के नाम क्रमशः JSESSIONID और PHPSESSIONID हैं। उन्हें जरूरी कुकीज़ होने की आवश्यकता नहीं है। वे यूआरएल का हिस्सा हो सकते हैं; jsessionid = या; phpsessionid = । –

+0

सत्रों के HTTP पक्ष को समझने का एक अच्छा तरीका HTTP शीर्षलेखों की तरह कुछ है: https://addons.mozilla.org/en-US/firefox/addon/3829 –

1

चूंकि यह एक इंटरफ़ेस है, तो आप क्लास (एसएस) को टॉमकैट जैसे ओपन-सोर्स वेब कंटेनर में कार्यान्वित कर सकते हैं और स्वयं के लिए देख सकते हैं।

संबंधित मुद्दे