2012-05-02 10 views
26

मैं सभी नेट पर पढ़ रहे दो शब्दों का सही अर्थ प्राप्त करने के लिए:प्रतिनिधि राज्य का मतलब आरईएसटी में क्या है?

रिप्रेसेंटेशनल स्टेट

मैं एक संदेह है। मैं इन शर्तों को गलत समझ रहा हूं। मैं किसी के साथ समझ को स्पष्ट करना चाहता हूं कि इस बारे में अच्छा विचार कैसे है।

मेरी समझ यह है कि, सर्वर में एक संसाधन स्थित है। एसओ रेस्ट का मतलब है कि, इस संसाधन के कुछ प्रतिनिधित्व राज्य को किसी ग्राहक को स्थानांतरित करना।

यदि सर्वर का संसाधन x है, तो यदि हम संसाधन एक्स के प्रतिनिधित्वकारी राज्य वाई बना सकते हैं, और वेब पर इसे स्थानांतरित करना आरईएसटी का मतलब है, तो यह सही है या इसका सही अर्थ क्या है। क्या कोई मुझे यह समझा सकता है।

+0

संभावित डुप्लिकेट [प्रतिनिधि राज्य हस्तांतरण (आरईएसटी) में "राज्य हस्तांतरण" क्या करता है?] (Http://stackoverflow.com/questions/4603653/what-does-state-transfer-in-representational-state -transfer-rest-refer-to) – Claudiu

+0

इस लिंक पर भी उत्तर दें: https://stackoverflow.com/a/37683965/3762855 –

उत्तर

30

प्रतिनिधि राज्य स्थानांतरण "प्रतिनिधित्व" को स्थानांतरित करने का संदर्भ देता है। आप संसाधन राज्य को स्थानांतरित करने के लिए संसाधन के "प्रतिनिधित्व" का उपयोग कर रहे हैं जो क्लाइंट पर अनुप्रयोग स्थिति में सर्वर पर रहता है।

Transfer

+2

तो, हमें हमेशा एक JSON/xml प्रतिनिधित्व वापस करना चाहिए? एक दृश्य प्रस्तुत करने के बारे में क्या, क्या इसका मतलब यह भी है कि मैं राज्य को स्थानांतरित करता हूं और इसे HTML में प्रस्तुत करता हूं? – Jaskey

+4

@Jaskey वास्तुकला में, आरईएसटी परवाह नहीं है कि मीडिया का प्रकार क्या है। एचटीएमएल उतना ही संसाधन संसाधन है जितना कुछ और। जब आप एक स्थिर HTML पृष्ठ पर जाने के लिए किसी ब्राउज़र में किसी लिंक पर क्लिक करते हैं, तो यह "प्रतिनिधि राज्य स्थानांतरण" होता है। नया एचटीएमएल पेज नया मौजूदा क्लाइंट एप्लिकेशन स्टेटस है। –

+7

धन्यवाद! लेकिन यह मुझे भ्रमित करता है, अगर एक पृष्ठ प्रस्तुत करना एक "प्रतिनिधि राज्य हस्तांतरण" भी है, तो क्या नहीं है? मेरा मतलब है, आराम से पहले, "ठेठ राज्य हस्तांतरण" क्या सामान्य तरीका नहीं होगा। मैं इन तरीकों की तुलना करने की उम्मीद करता हूं ताकि मैं अच्छी तरह से समझ सकूं, आपके लिए धैर्य के लिए धन्यवाद। – Jaskey

1

रिप्रेसेंटेशनल स्टेट ट्रान्सफर के अर्थ बाकी

है

RESTful सर्वर

वास्तविक विचार उदाहरण में में प्रत्यक्ष VERB डाल दिया, क्रिया में डाल मूल्य सामान्यतः HTTP GET की है और पोस्ट

है सिंपल प्रोटोकॉल एसओएपी की तरह बहुत अधिक है (बहुत जटिल है!)

अगर उत्तर संतुष्टि नहीं है, तो कृपया

0 का अधिक विस्तृत विवरण प्रदान करें

आरईएसटी के पास चर्चा का विषय है, कई ब्लॉग और पुस्तक

+0

मैं बस इसमें जोड़ दूंगा कि REST केवल "सरल प्रोटोकॉल" नहीं है यह बिल्कुल एक प्रोटोकॉल नहीं है। एक वास्तुशिल्प डिजाइन, या शैली के अधिक। एसओएपी एक वास्तविक प्रोटोकॉल है। – zeeple

25

हालांकि बाकी राज्यविहीन है, यह अपने नाम में राज्य हस्तांतरण है। यह हर किसी के लिए थोड़ा उलझन में है।

स्टेटलेस

जब आप ब्राउज़र में एक वेब पेज खोलने के लिए, आप एक सेवा उपभोक्ता और www सर्वर एक वेबपेज के साथ आप की सेवा के लिए एक सेवा प्रदाता के रूप में कार्य करेगा के रूप में कार्य करेगा। यदि यह एक सामान्य कनेक्शन है, तो क्लाइंट और सर्वर दोनों हैंडशेक करेंगे और एक सत्र शुरू करेंगे (जिसे टीसीपी कनेक्शन कहा जाता है)।

उसके बाद, सर्वर और ग्राहक के व्यवहार के आधार पर, राज्य या तो स्थापित, आईडीईएल, टाइमौट इत्यादि में बदल जाएगा, लेकिन आरईएसटी में, हम HTTP प्रोटोकॉल का उपयोग कर रहे हैं जो एक स्टेटलेस है, जिसका अर्थ है कि सर्वर स्टोर नहीं करेगा ग्राहक के बारे में कोई सत्र जानकारी। क्लाइंट सर्विसेज प्राप्त करने के लिए सर्वर द्वारा आवश्यक सभी विवरण भेजने के लिए ज़िम्मेदार है, जिसका अर्थ है कि जब हम सर्वर से यूआरआई http://somedomain:8080/senthil/services/page1 का आह्वान करते हैं, तो इसमें पृष्ठ 1 को पूरी तरह से सेवा देने के लिए ग्राहक के बारे में पर्याप्त जानकारी है।

स्टेट ट्रान्सफर

एक ही उदाहरण का उपयोग, जब आप सर्वर पर एक छवि फ़ाइल (संसाधन) को देखने के लिए कुछ URL का उपयोग कर एक वेब पेज खोलने के लिए, www सर्वर आप (ग्राहक) दिखाएगा कुछ प्रारूप में छवि यानी संसाधन का एक प्रतिनिधित्व (छवि फ़ाइल)।

इस प्रक्रिया के दौरान लगातार संसाधन राज्य सर्वर (यानी जो सर्वर डेटाबेस में संग्रहीत किया जाता छवि फ़ाइल के राज्य) आवेदन राज्य यानी एक समझा जा प्रारूप में ग्राहक के लिए प्रतिनिधित्व किया जाएगा ग्राहक के। इसलिए, संसाधन राज्य ग्राहकों के संबंध में स्थिर रहेगा, और केवल संसाधन का प्रतिनिधित्व बदल जाएगा, जो बदले में आवेदन स्थिति बदल देगा।

अंत में, संसाधन का प्रतिनिधित्व (क्लाइंट को छवि कैसे प्रदर्शित की जाती है), जो सर्वर और क्लाइंट दोनों की स्थिति को स्पष्ट रूप से बदलती है उसे आरईएसटी कहा जाता है।

+2

"जो बदले में होगा आवेदन स्थिति बदलें "? इन दो राज्यों में क्या अंतर है, ग्राहक को संसाधन राज्य क्यों प्राप्त होता है और इसका आवेदन राज्य बदल जाएगा? – Jaskey

+0

@Jaskey उदाहरण के लिए: आपके डेटाबेस में डेटा संसाधन राज्य है। अपने डेटाबेस से डेटा प्राप्त करना और HTML/IMAGE/JSON/XML जैसे किसी रूप में इसे प्रदर्शित/प्रतिनिधित्व करना एप्लिकेशन स्थिति कहा जाता है। –

1

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

मुझे लगता है कि यह प्रतिमान, इस महत्वपूर्ण विषय को समझने की केंद्रीय कुंजी है।

रॉय फील्डिंग द्वारा प्रस्तावित क्लाइंट-सर्वर एप्लिकेशन के आर्किटेक्चर को व्यवस्थित करने की शैली के पीछे, मुझे लगता है कि आधुनिक क्लाइंट-सर्वर एप्लिकेशन का एक विशिष्ट विचार है, जिसमें एक प्रकार का इंजन होता है जो आवेदन राज्य संक्रमण को नियंत्रित करता है, जिसका राज्य अनंत के लिए संभावित रूप से विस्तार योग्य हैं।

इस दृष्टि में, इपरटेक्स्ट \ Ipermedia फील्डिंग द्वारा प्रस्तावित संपूर्ण वास्तुकला शैली का केंद्र है और मुख्य अवधारणा जो इस प्रतिमान को काम करने की अनुमति देती है वह "प्रतिनिधित्वकारी (राज्य) हस्तांतरण" है।

मुझे लगता है कि "प्रतिनिधित्ववादी" के बजाय "राज्य" के बारे में अवधारणा के "स्थानांतरण" के बारे में अवधारणा को दर्शाता है, कि है, यह हस्तांतरण प्रतिनिधित्ववादी होने के लिए (एक प्रतिनिधित्ववादी प्रकार के) है, और यह मेरी राय में, "प्रतिनिधि राज्य हस्तांतरण" नाम का मुख्य कारण है।

तो, एक आरामदायक आवेदन डिजाइनिंग, यह डिजाइन पहले घटकों की एक वेब के आधार पर एक वास्तुकला है, उनमें से प्रत्येक के एक क्लाइंट-सर्वर स्तरित वास्तुकला मॉडल में अन्य लोगों के साथ comunicates, उनमें से प्रत्येक के अपने राज्य का प्रतिनिधित्व भेजने ।

और हां, तो सामने के अंत, इस वास्तुकला के पहले ग्राहक, अपने राज्यों के माध्यम से पारगमन घटक है, या घटकों द्वारा sended राज्यों के rapresentation दिखा रहा है, कि यह एक समान संगत इंटरफेस पर नहीं की पुष्टि और पर कॉल एक "निजी" एपीआई।

अनुप्रयोग का एक इस प्रकार, लेखक के मन में, संभावित अनंत राज्यों को विस्तृत, क्योंकि इसकी राज्यों के लिए एक निजी एपीआई पर निर्भर नहीं है, लेकिन एक univoque पहचानकर्ता सिस्टम पर निर्भर (यूआरआइ के रूप में) साझा किया जाता है इस आर्किटेक्चर के सभी एजेंटों द्वारा, कुछ राज्यों के संक्रमण को प्रबंधित करने के लिए कुछ सहमत हैं और एक सहमत साझा प्रतिनिधित्व हस्तांतरण प्रणाली, या प्लस पर।

यह संक्रमण "सार्वजनिक" एपीआई लिखने वाले क्रियाओं के माध्यम से सर्वर घटक के रूप में इसके प्रतिनिधित्व के संचार के साथ समाप्त होता है, जो घटक क्लाइंट-सर्वर द्वारा उपयोग किए जाने वाले स्टेटलेस संचार प्रोटोकॉल से संबंधित होना चाहिए।

इस तरह, इस क्लाइंट-सर्वर घटक इंटरैक्शन में एक स्टेटलेस प्रोटोकॉल का उपयोग करने के घटकों के राज्यों के अंतरण (स्थानांतरण, संचार) प्रस्तुतिकरण होते हैं।

और मूल अवधारणा जो इन सभी आर्किटेक्चरों को संभावित रूप से अनंत तक विस्तारित करने की अनुमति देती है वह प्रतिनिधित्व संरचना है जो उनके वास्तुकला का समर्थन करती है।

1

एक राज्य आरेख की कल्पना करें - निम्नलिखित करेंगे।

A simple state diagram courtesy LucidChart

यदि यह वेब पृष्ठों के सेट थे, तो आप एक छात्र के लिए अंडर लैंडिंग पेज पर शुरू होगा। आरेख के अनुसार, जब आप "अगला" लिंक पर क्लिक करेंगे, तो यह आपको पर ले जाएगा Freshman पृष्ठ - मान लीजिए कि छात्र स्नातक हैं। "अगली" कई बार क्लिक करके, आप अंतिम पृष्ठ पर जाते हैं।

बेशक, "होम" जैसे अन्य संक्रमण भी आपको डिफ़ॉल्ट पृष्ठ पर जाने की इजाजत दे सकते हैं।

वेबसाइट की दृश्यमान स्थिति में यह नहीं है कि सर्वर आंतरिक रूप से इस संगठन को कैसे लागू करता है - यह आंतरिक राज्य है। इसमें एकाधिक डेटाबेस, सर्वर और क्या नहीं हो सकता है। एक छात्र स्नातक हो सकता है और उसकी स्थिति अन्य तरीकों के माध्यम से अद्यतन हो सकती है। ग्राहक इन विवरणों से अवगत नहीं है - लेकिन हमेशा मानव (या मशीन) खपत के लिए एक सुसंगत दृश्य स्थिति (सेट) प्राप्त करने की उम्मीद कर सकते हैं।

एक और उदाहरण: जैसा कि आप इस पृष्ठ को देख रहे हैं, आप StackOverFlow वेब पदानुक्रम में एक विशेष पहचान योग्य और पुनरुत्पादित "स्थान" में हैं।

तो, विश्वसनीय राज्य नेविगेशन के साथ सौदा करता है।

1

प्रत्येक ऑब्जेक्ट में कुछ राज्य (डेटा) और व्यवहार (विधियां) होते हैं। सर्वर पर ऑब्जेक्ट की स्थिति को क्लाइंट को विशेष समय पर स्थानांतरित करने के लिए, जेएसओएन या एक्सएमएल या किसी अन्य प्रारूप की तरह किसी प्रकार का प्रतिनिधित्व आवश्यक है।

तो आरईएसटी वस्तु के वर्तमान राज्य का प्रतिनिधित्व करने और नेटवर्क पर उस प्रतिनिधित्व को स्थानांतरित करने के बारे में है।

+0

वाह आदमी, बहुत अच्छा, अच्छा स्पष्टीकरण .... धन्यवाद !!! – KItis

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