ए RESTful API(Representational State Transfer) वितरित सिस्टम में एप्लिकेशन प्रोग्रामिंग इंटरफेस(एपीआई) को डिजाइन और प्रबंधित करने के लिए एक प्रकार का आर्किटेक्चर और प्रोटोकॉल है। RESTful API वास्तुकला के मूलभूत सिद्धांतों पर बनाया गया है REST, रॉय फील्डिंग द्वारा अपने 2000 के शोध प्रबंध में वर्णित एक विधि।
की प्रमुख विशेषताओं में RESTful API शामिल हैं:
पता-आधारित पहुंच
प्रत्येक संसाधन को एक यूआरएल(यूनिफ़ॉर्म रिसोर्स लोकेटर) द्वारा दर्शाया जाता है, जो सिस्टम को HTTP अनुरोधों जैसे GET, POST, PUT और DELETE के माध्यम से संचार करने की अनुमति देता है।
राज्यविहीन पहुंच
क्लाइंट के प्रत्येक अनुरोध में सर्वर के लिए पिछली स्थिति की जानकारी पर भरोसा किए बिना अनुरोध को समझने के लिए पर्याप्त जानकारी होती है। सर्वर अनुरोधों के बीच क्लाइंट की स्थिति के बारे में जानकारी संग्रहीत नहीं करता है।
HTTP विधि का उपयोग
RESTful API POST प्रत्येक अनुरोध के उद्देश्य को परिभाषित करने के लिए HTTP विधियों(GET,, PUT, DELETE) का उपयोग करता है । उदाहरण के लिए, GET जानकारी पुनः प्राप्त करने के लिए, POST नया डेटा बनाने के लिए, अपडेट करने के लिए PUT और हटाने के लिए DELETE का उपयोग करें।
मीडिया प्रकारों का उपयोग
JSON डेटा को XML, या अन्य कस्टम प्रारूपों जैसे प्रारूपों का उपयोग करके नेटवर्क पर प्रसारित किया जाता है । प्रत्येक अनुरोध को वांछित डेटा प्रारूप निर्दिष्ट करने की आवश्यकता है।
संसाधन पहचान
संसाधनों की पहचान अद्वितीय यूआरएल द्वारा की जाती है, जिससे ग्राहकों को पथ-आधारित पहचानकर्ताओं का उपयोग करके संसाधनों तक पहुंचने की अनुमति मिलती है।
संचित करने योग्य
प्रदर्शन को अनुकूलित करने के लिए अनुरोधों और प्रतिक्रियाओं को RESTful API क्लाइंट या प्रॉक्सी सर्वर मेमोरी में संग्रहीत किया जा सकता है।
स्तरित प्रणाली
आर्किटेक्चर REST स्केलेबिलिटी और प्रबंधनीयता को बढ़ाने के लिए लोड बैलेंसर्स या प्रॉक्सी सर्वर जैसी मध्यस्थ परतों को जोड़ने की अनुमति देता है।
RESTful API का व्यापक रूप से वेब और मोबाइल एप्लिकेशन विकास में उपयोग किया जाता है, जो एप्लिकेशन के बीच कुशल संचार और डेटा साझाकरण को सक्षम बनाता है। फेसबुक, ट्विटर और गूगल जैसी प्रमुख वेब सेवाएँ भी डेवलपर्स के लिए एपीआई प्रदान करने के लिए रेस्टफुल आर्किटेक्चर का उपयोग करती हैं।