REST क्या है (साधारण अंग्रेजी में) [बंद]


84

हाल ही में मैं खुद को REST के साथ परिचित करने में रुचि रखता हूं। मैंने REST पर विकी प्रविष्टि पढ़ने की कोशिश की , लेकिन यह बिना किसी मदद के था। मैं वास्तव में इसकी सराहना करूंगा यदि कोई सरल अंग्रेजी में व्याख्या कर सकता है (जो कि अनावश्यक तकनीकी शब्दजाल के बिना है)

  1. REST क्या है
  2. यह वेब आर्किटेक्चर इकोसिस्टम में किस स्थिति में है
  3. कैसे कसकर (या शिथिल) यह प्रोटोकॉल के साथ युग्मित है।
  4. REST के विकल्प क्या हैं और REST उनकी तुलना कैसे करता है।

मैं समझता हूं कि एक या दो पैराग्राफ में इसका जवाब देना संभव नहीं हो सकता है, उस स्थिति में प्रासंगिक लिंक की बहुत सराहना की जाएगी।


6
इसे आजमाएँ - tomayko.com/writings/rest-to-my-wife
talonx

: मैं इस जानकारीपूर्ण, अभी तक बहुत विस्तृत नहीं हो पाते ibm.com/developerworks/webservices/library/ws-restful
NoChance

मुझे आश्चर्य है कि अगर इस सवाल का जवाब दिया जा सकता है?
गैरी रोवे

@GaryRowe मैंने एक उत्तर दिया था, लगता है कि इसे किसी कारण से हटा दिया गया था। मैं इस साइट को नहीं समझता।
गौरव

1
नीचे दिए गए उत्तरों में से कोई भी शब्द "बेकार" नहीं है। आपको इसे देखना चाहिए: उदासीनता किसी भी प्रतिष्ठित वास्तुकला का एक महत्वपूर्ण पहलू है।
सोलोमन स्लो

जवाबों:


10

REST क्या है (सरल अंग्रेजी में)

सामान्य अंग्रेजी:

प्रस्तुति: किसी की ओर से बोलने या अभिनय करने की क्रिया।
राज्य स्थानांतरण: स्थानान्तरण स्थिति।


तकनीकी:

  • हम एक वास्तविक वस्तु को हस्तांतरित नहीं करते हैं, लेकिन एक डेटाबेस में इसका प्रतिनिधित्व करते हैं (उदाहरण के लिए एक डेटाबेस तालिका का प्रतिनिधित्व करने के लिए एक xml / json / पाठ)।
  • डेटा पर CRUD संचालन को संभालने के लिए इंटरनेट पर एक सार्वजनिक एपीआई को उजागर करने के लिए परीक्षा। REST एकल सुसंगत इंटरफ़ेस के माध्यम से नामित संसाधनों तक पहुँचने पर केंद्रित है।
  • REST को कुछ मीडिया प्रकार के माध्यम से दर्शाया गया है । मीडिया प्रकारों के कुछ उदाहरणों में XML, JSON और RDF शामिल हैं।
  • REST संसाधन-उन्मुख वास्तुकला (ROA) के लिए एक स्थापत्य शैली है , न कि एक युक्ति या एक मानक।
  • स्थापत्य शैली का मतलब है कि यह एक अवधारणा, सिद्धांत है (और इसे कैसे लागू किया गया है, यह आपके ऊपर है)
  • सब कुछ अद्वितीय समापन बिंदु द्वारा पहचाना जाता है। यानी प्रत्येक संसाधन (डेटा) के लिए एक समापन बिंदु है।
  • एंडपॉइंट संसाधन पते के साथ डोमेन नाम से मिलकर बनता है।

बाकी बनाम साबुन


43

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 में कंटेंट-टाइप हेडर फ़ील्ड के माध्यम से संचार किया जा सकता है। पाठ प्रारूपों में एटमपब और (अधिक संक्षिप्त) एचएएल शामिल हैं , जबकि हाइपरऑडियो ऑडियो धाराओं के लिए अच्छी तरह से काम करता है (साउंडक्लाउड एट अल देखें)


आप कहते हैं कि "REST HTTP नहीं है", लेकिन रॉय फील्डिंग को इस विचार पर काफी हद तक तय लगता है कि हाइपरटेक्स्ट एक आवश्यकता है, पूरे HATEOAS सौदे के बिना क्या है - उसके अनुसार - आप "उचित" REST नहीं कर रहे हैं। हाइपरटेक्स्ट! = HTTP, मुझे आश्चर्य है कि आप वास्तव में HTTP के बाहर कितना कर सकते हैं ...
एंड्रेस एफ।

इसके अनुसार ( roy.gbiv.com/untangled/2008/… ) रॉय फील्डिंग इस बात को इंगित करता है कि हाइपरटेक्स्ट, या इसके सबसेट, हाइपरमीडिया, को HTML के बाहर केवल इतने समय तक व्यक्त किया जा सकता है जब तक कि यह किसी प्रकार के लिंकिंग का समर्थन करता है।
गैरी रोवे

3
HTTP REST के साथ अच्छी तरह से काम करता है क्योंकि यह URI के साथ काम करने के लिए मानकीकृत क्रिया प्रदान करता है जो एक सांख्यिकीय प्रोटोकॉल में REST में संज्ञाओं का प्रतिनिधित्व करते हैं। आदर्श। हालांकि अपने शोध प्रबंध ( ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm ) में उन्होंने ध्यान दिया है कि "REST एक विशेष प्रोटोकॉल में संचार को प्रतिबंधित नहीं करता है, लेकिन यह घटकों के बीच इंटरफेस को बाधित करता है, और इसलिए इसका दायरा बढ़ जाता है।" बातचीत और कार्यान्वयन मान्यताओं जो अन्यथा घटकों के बीच हो सकती हैं। " इस प्रकार एक पूर्ण एफ़टीपी कार्यान्वयन क्लाइंट-साइड राज्य प्रबंधन के बिना RESTful होने की संभावना नहीं है।
गैरी रोवे

2
मार्टिन फाउलर लिंक के लिए +1। हमेशा की तरह मार्टिन फाउलर ने एक लेख लिखा है जो सबसे स्पष्ट और संक्षिप्त संभव तरीके से एक अवधारणा का वर्णन करता है
टॉम कार्टर

आपने state transferप्रतिनिधित्व नहीं किया । किसी की ओर से बोलने या अभिनय करने की क्रिया प्रतिनिधित्व है जो इस संदर्भ में काम करता है?
प्रेमराज

11

हालांकि REST प्रतिनिधि राज्य स्थानांतरण का संक्षिप्त नाम है, लेकिन कुछ सहज ज्ञान युक्त इंटरफ़ेस के माध्यम से विभिन्न कार्यों को करने के विचार पर विचार करना आसान हो सकता है।

उदाहरण के लिए, http://www.mysite.com/FindProduct/125/ जैसे URL की व्याख्या किसी ऐसे व्यक्ति के रूप में की जा सकती है, जिसे 125 की आईडी के साथ उत्पाद के बारे में जानकारी चाहिए।

जबकि REST आमतौर पर HTTP के संदर्भ में सोचा जाता है, अवधारणा को अन्य प्रोटोकॉल पर लागू किया जा सकता है जैसा कि विकिपीडिया संदर्भ में बताया गया है।

REST के अन्य उदाहरण जो उपयोगी हो सकते हैं:


2
"Learn REST: A Tutorial" के लिंक के लिए धन्यवाद! यह पहला ट्यूटोरियल है जो मैंने पढ़ा है कि मुझे इस एहसास के साथ छोड़ दिया है कि मैंने कुछ ठोस सीखा है। बाकी सब मैंने (विकिपीडिया लेख सहित) पढ़ा है कि REST का वर्णन केवल सबसे सार तरीके में है, जो तकनीकी शब्दजाल से घिरा है।
एवियन ००

पहला लिंक काम नहीं कर रहा है। आपका उत्तर उपयोगी है फिर भी !!
उत्साही
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.