REST क्या है?
प्रतिनिधित्ववादी स्थिति में स्थानांतरण। यह वर्णन करता है कि एक प्रणाली दूसरे के साथ राज्य को कैसे संवाद कर सकती है। एक उदाहरण एक उत्पाद की स्थिति (इसका नाम, विवरण आदि) XML, JSON, या सादे पाठ के रूप में दर्शाया जाएगा। राज्य के सामान्यीकृत विचार को संसाधन कहा जाता है।
वेब आर्किटेक्चर इकोसिस्टम में यह किस स्थान पर है?
REST सामान्यतः वेब सेवाओं के इंटरफ़ेस से जुड़ा है क्योंकि HTTP अब तक का सबसे सामान्य वाहक प्रोटोकॉल है। 7-लेयर मॉडल में यह एप्लिकेशन लेयर में मौजूद है । हालाँकि, अगला भाग देखें।
कैसे कसकर (या शिथिल) यह प्रोटोकॉल के साथ युग्मित है?
Rest HTTP नहीं है। यह HTTP का उपयोग करता है क्योंकि इसके सबसे सामान्य रूप में REST संज्ञा की मनमानी संग्रह के खिलाफ एक क्रिया की अवधारणा को मैप करने में एक मशीन की सहायता के लिए मौजूद है। HTTP में जेनेरिक क्रियाओं (GET, PUT, PATCH आदि) का एक उपयोगी सेट होता है जो HTTP उदाहरण GET http://example.org/Product(54 ) का उपयोग करके URI के रूप में व्यक्त की गई मनमानी संज्ञाओं पर लागू हो सकता है ।
REST के विकल्प क्या हैं और REST उनकी तुलना कैसे करता है
यह पूछने के लिए कि "मेरा दृष्टिकोण कैसा है?" निम्नलिखित सूची का उपयोग करें ( रिचर्डसन परिपक्वता मॉडल से सारांशित जैसा कि मार्टिन फाउलर द्वारा वर्णित है ):
स्तर 0 - POX का दलदल
सब कुछ के लिए POST का उपयोग करें (पढ़ता है, लिखता है, हटाता है)। यह SOAP, POX, RPI इत्यादि है। आप सिर्फ HTTP को अपने प्रोटोकॉल के लिए एक सुरंग के रूप में उपयोग कर रहे हैं। आप एक एकल समापन बिंदु को लक्षित करते हैं जो अनुरोध निकाय की सामग्री के आधार पर सब कुछ करता है।
स्तर 1 - संसाधन
हर चीज के लिए POST का इस्तेमाल करें। किसी विशेष चीज़ के बारे में जानकारी प्रदान करने के लिए डिज़ाइन किए गए एकाधिक समापन बिंदुओं को लक्षित करें। आपने अभी-अभी संसाधन खोजे हैं।
स्तर 2 - HTTP क्रिया
संसाधनों के खिलाफ HTTP क्रियाओं का उपयोग करें। अब आप इसे प्राप्त कर रहे हैं। POST बनाना है, PUT को अधिलेखित करना है, उपलब्ध संचालन के लिए विकल्प, DELETE से, संसाधन को हटाना है। इन क्रियाओं के उपयोग के परिणामस्वरूप विभिन्न HTTP स्थिति कोड और अधिक प्रासंगिक बनने लगते हैं (202 स्वीकार किए जाते हैं?)।
स्तर 3 - हाइपरमीडिया नियंत्रण ( HATEOAS )
इस बिंदु पर आप अंतिम छलांग लगाते हैं और हाइपरमीडिया को प्रवाह नियंत्रण तंत्र के रूप में पेश करते हैं। किसी अन्य क्लाइंट को हाइपरमीडिया की सामान्य समझ से परे किसी विशेष एप्लिकेशन या सर्वर के साथ बातचीत करने के बारे में कोई पूर्व ज्ञान की आवश्यकता नहीं है। यह HTTP में कंटेंट-टाइप हेडर फ़ील्ड के माध्यम से संचार किया जा सकता है। पाठ प्रारूपों में एटमपब और (अधिक संक्षिप्त) एचएएल शामिल हैं , जबकि हाइपरऑडियो ऑडियो धाराओं के लिए अच्छी तरह से काम करता है (साउंडक्लाउड एट अल देखें)