अस्वीकरण: मैं विचार के REST स्कूल में नया हूं, और मैं अपने दिमाग को इसके चारों ओर लपेटने की कोशिश कर रहा हूं।
इसलिए, मैं इस पेज को पढ़ रहा हूं, कॉमन रेस्ट मिस्टेक्स , और मैंने पाया है कि मैं सत्र से पूरी तरह से अप्रासंगिक हूं। यह वही है जो पृष्ठ कहता है:
क्लाइंट को "लॉगिन" या "कनेक्शन शुरू करने" की कोई आवश्यकता नहीं होनी चाहिए। HTTP प्रमाणीकरण हर संदेश पर स्वचालित रूप से किया जाता है। ग्राहक अनुप्रयोग संसाधनों के उपभोक्ता हैं, न कि सेवाओं के। इसलिए लॉग इन करने के लिए कुछ भी नहीं है! मान लीजिए कि आप एक REST वेब सेवा पर उड़ान बुक कर रहे हैं। आप सेवा के लिए एक नया "सत्र" कनेक्शन नहीं बनाते हैं। बल्कि आप एक नया यात्रा कार्यक्रम बनाने के लिए "यात्रा कार्यक्रम निर्माता" से पूछते हैं। आप रिक्त स्थान को भरना शुरू कर सकते हैं, लेकिन फिर कुछ अन्य रिक्त स्थानों को भरने के लिए वेब पर कुछ अलग घटक प्राप्त कर सकते हैं। कोई सत्र नहीं है इसलिए ग्राहकों के बीच सत्र राज्य के प्रवास की कोई समस्या नहीं है। "सत्र आत्मीयता" का भी कोई मुद्दा नहीं है
ठीक है, मुझे लगता है कि HTTP प्रमाणीकरण हर संदेश पर स्वचालित रूप से किया जाता है - लेकिन कैसे? क्या प्रत्येक अनुरोध के साथ उपयोगकर्ता नाम / पासवर्ड भेजा जाता है? नहीं है कि सिर्फ हमले की सतह क्षेत्र में वृद्धि? मुझे लगता है कि मैं पहेली का हिस्सा याद कर रहा हूं।
क्या REST सेवा के लिए बुरा होगा, कहते हैं, /session
कि एक GET अनुरोध स्वीकार करता है, जहाँ आप अनुरोध के भाग के रूप में एक उपयोगकर्ता नाम / पासवर्ड में पास करेंगे, और एक सत्र टोकन लौटाते हैं यदि प्रमाणीकरण सफल रहा, तो यह हो सकता है बाद के अनुरोधों के साथ पारित किया? क्या यह किसी अन्य दृष्टिकोण से समझ में आता है, या यह बात याद आ रही है?