स्टेटलेस - कोई मेमोरी (राज्य) नहीं है जिसे प्रोग्राम द्वारा बनाए रखा गया है
स्टेटफुल - प्रोग्राम में एक मेमोरी (स्थिति) है
राज्य की अवधारणा को स्पष्ट करने के लिए, मैं एक फ़ंक्शन को परिभाषित करता हूं जो कि स्टेटफुल है और एक जो स्टेटलेस है
राज्यविहीन
//The state is derived by what is passed into the function
function int addOne(int number)
{
return number + 1;
}
स्टेटफुल
//The state is maintained by the function
private int _number = 0; //initially zero
function int addOne()
{
_number++;
return _number;
}
जैसा कि अन्य ने कहा है कि http स्वाभाविक रूप से स्टेटलेस है। तो राज्य आपके अनुप्रयोगों में बनाया जाना चाहिए।
वेब पर एक अनुरोध की कल्पना करें जहां आपके पास एक क्लाइंट ब्राउज़र है जो एक सर्वर प्रक्रिया के लिए संचार कर रहा है। स्टेटलेस http प्रोटोकॉल पर राज्य बनाए रखने के लिए ब्राउज़र आमतौर पर प्रत्येक अनुरोध पर सर्वर को एक सत्र पहचानकर्ता भेजेगा। प्रत्येक अनुरोध के लिए सर्वर "आह, उसका यह आदमी" जैसा होगा। राज्य की जानकारी को सर्वर साइड मेमोरी या इस सत्र आईडी के आधार पर डेटाबेस में देखा जा सकता है।
विशुद्ध रूप से स्टेटलेस वातावरण में आपको इस सत्र आईडी की आवश्यकता नहीं होगी। प्रत्येक अनुरोध में सर्वर को संसाधित करने के लिए आवश्यक सभी जानकारी होगी। लेकिन कई अनुप्रयोगों को कुछ सामग्री को देखने या एक उपयोगकर्ता क्या कर रहे हैं, इसका ट्रैक रखने के लिए एक सत्र प्रमाणित है या नहीं, इसका ट्रैक रखने के लिए राज्य को बनाए रखने की आवश्यकता है। आप प्रत्येक अनुरोध के लिए वायर पर उपयोगकर्ता क्रेडेंशियल्स नहीं भेजना चाहेंगे।