REST = प्रतिनिधि राज्य अंतरण
REST नियमों का एक सेट है, जिसका अनुसरण करने पर, आप वितरित अनुप्रयोग बनाने के लिए सक्षम होते हैं, जिसमें वांछित बाधाओं का एक विशिष्ट सेट होता है।
REST एक प्रोटोकॉल (XML, JSON आदि) संदेशों का आदान-प्रदान करने के लिए एक प्रोटोकॉल है जो उन संदेशों को लाने के लिए HTTP का उपयोग कर सकता है।
विशेषताएं:
यह स्टेटलेस है जिसका अर्थ है कि आदर्श रूप से क्लाइंट और सर्वर के बीच कोई संबंध नहीं होना चाहिए। यह क्लाइंट की जिम्मेदारी है कि वह अपने संदर्भ को सर्वर तक पहुंचाए और फिर सर्वर क्लाइंट के आगे अनुरोध को संसाधित करने के लिए इस संदर्भ को स्टोर कर सकता है। उदाहरण के लिए, सर्वर द्वारा रखे गए सत्र को ग्राहक द्वारा पारित सत्र पहचानकर्ता द्वारा पहचाना जाता है।
स्टेटलेसनेस के लाभ:
- वेब सेवा प्रत्येक विधि कॉल का अलग से इलाज कर सकती है।
- वेब सेवाओं को क्लाइंट के पिछले इंटरैक्शन को बनाए रखने की आवश्यकता नहीं है।
- यह बदले में आवेदन डिजाइन को सरल करता है।
- HTTP अपने आप में TCP के विपरीत एक स्टेटलेस प्रोटोकॉल है और इस प्रकार Restful Web Services HTTP प्रोटोकॉल के साथ मूल रूप से काम करती है।
स्टेटलेसनेस के नुकसान:
- हेडिंग के रूप में एक अतिरिक्त परत को ग्राहक की स्थिति को संरक्षित करने के लिए हर अनुरोध में जोड़ा जाना चाहिए।
- सुरक्षा के लिए हमें हर अनुरोध में एक हेडर जानकारी जोड़ने की आवश्यकता है।
HTTP तरीके REST द्वारा समर्थित:
प्राप्त करें: / स्ट्रिंग / someotherstring यह एक आदर्श है और आदर्श रूप से हर बार कॉल किए जाने पर उसी परिणाम को वापस करना चाहिए
PUT: GET की तरह ही। Idempotent और संसाधनों को अद्यतन करने के लिए उपयोग किया जाता है।
POST: संसाधन बनाने के लिए उपयोग किया जाने वाला url और निकाय होना चाहिए। एकाधिक कॉलों को आदर्श रूप से अलग-अलग परिणाम लौटाने चाहिए और कई उत्पाद बनाने चाहिए।
DELETE: सर्वर पर संसाधनों को हटाने के लिए उपयोग किया जाता है।
सिर:
HEAD विधि GET के समान है सिवाय इसके कि सर्वर प्रतिक्रिया में संदेश-निकाय नहीं लौटाए। एक हेड अनुरोध के जवाब में HTTP हेडर में सम्मिलित मेटा जानकारी जीईटी अनुरोध के जवाब में भेजी गई सूचना के समान होगी।
विकल्प:
यह विधि क्लाइंट को किसी संसाधन कार्रवाई से संबंधित या संसाधन पुनर्प्राप्ति को लागू किए बिना किसी संसाधन से जुड़े विकल्पों और / या आवश्यकताओं को निर्धारित करने की अनुमति देती है।
HTTP प्रतिक्रियाएँ
सभी प्रतिक्रियाओं के लिए यहां जाएं ।
यहाँ कुछ महत्वपूर्ण हैं: 200 - ठीक 3XX - ग्राहक से अतिरिक्त जानकारी की आवश्यकता है और url पुनर्निर्देशन 400 - खराब अनुरोध
401 -
403 तक पहुंचने के लिए अनधिकृत - निषिद्ध
अनुरोध मान्य था, लेकिन सर्वर कार्रवाई से इनकार कर रहा है। उपयोगकर्ता के पास संसाधन के लिए आवश्यक अनुमति नहीं हो सकती है, या उसे किसी प्रकार के खाते की आवश्यकता हो सकती है।
404 - नहीं मिला
अनुरोधित संसाधन नहीं मिला लेकिन भविष्य में उपलब्ध हो सकता है। ग्राहक द्वारा अनुवर्ती अनुरोध अनुमेय हैं।
405 - विधि अनुमति नहीं है अनुरोधित संसाधन के लिए अनुरोध विधि समर्थित नहीं है; उदाहरण के लिए, एक फॉर्म पर एक GET अनुरोध जिसे POST के माध्यम से प्रस्तुत किया जाना चाहिए, या केवल-पढ़ने के लिए संसाधन पर एक PUT अनुरोध।
404 - अनुरोध
500 नहीं मिला - आंतरिक सर्वर विफलता
502 - खराब गेटवे त्रुटि