A RESTful API(Representational State Transfer) हा एक प्रकारचा आर्किटेक्चर आणि प्रोटोकॉल आहे जे डिस्ट्रिब्युटेड सिस्टीममध्ये ऍप्लिकेशन प्रोग्रामिंग इंटरफेस(एपीआय) डिझाइन आणि व्यवस्थापित करण्यासाठी आहे. रॉय फील्डिंगने 2000 च्या प्रबंधात वर्णन केलेली पद्धत आर्किटेक्चरच्या RESTful API मूलभूत तत्त्वांवर आधारित आहे. REST
मुख्य वैशिष्ट्यांमध्ये हे RESTful API समाविष्ट आहे:
पत्ता-आधारित प्रवेश
GET प्रत्येक संसाधन URL(युनिफॉर्म रिसोर्स लोकेटर) द्वारे दर्शविले जाते, जे सिस्टमला, POST, पुट आणि DELETE सारख्या HTTP विनंत्यांद्वारे संप्रेषण करू देते .
स्टेटलेस प्रवेश
क्लायंटच्या प्रत्येक विनंतीमध्ये मागील राज्य माहितीवर अवलंबून न राहता विनंती समजून घेण्यासाठी सर्व्हरसाठी पुरेशी माहिती असते. सर्व्हर विनंती दरम्यान क्लायंटच्या स्थितीबद्दल माहिती संचयित करत नाही.
HTTP पद्धतीचा वापर
RESTful API POST प्रत्येक विनंतीचा उद्देश परिभाषित करण्यासाठी HTTP पद्धती(GET,, PUT, DELETE) वापरते. उदाहरणार्थ, GET माहिती पुनर्प्राप्त करण्यासाठी, POST नवीन डेटा तयार करण्यासाठी, अपडेट करण्यासाठी PUT आणि काढण्यासाठी DELETE वापरा.
माध्यम प्रकारांचा वापर
, XML, किंवा इतर सानुकूल स्वरूपांचा वापर करून डेटा नेटवर्कवर प्रसारित केला जातो JSON. प्रत्येक विनंतीला इच्छित डेटा स्वरूप निर्दिष्ट करणे आवश्यक आहे.
संसाधन ओळख
संसाधने अद्वितीय URL द्वारे ओळखली जातात, ज्यामुळे क्लायंटला पथ-आधारित अभिज्ञापक वापरून संसाधनांमध्ये प्रवेश करण्याची परवानगी मिळते.
कॅशेबल
कार्यप्रदर्शन ऑप्टिमाइझ करण्यासाठी क्लायंट किंवा प्रॉक्सी सर्व्हर मेमरीमध्ये विनंत्या आणि प्रतिसाद RESTful API संग्रहित केले जाऊ शकतात.
स्तरित प्रणाली
आर्किटेक्चर REST स्केलेबिलिटी आणि व्यवस्थापनक्षमता वाढविण्यासाठी लोड बॅलन्सर्स किंवा प्रॉक्सी सर्व्हर सारख्या मध्यस्थ स्तर जोडण्याची परवानगी देते.
RESTful API चा वापर वेब आणि मोबाईल ऍप्लिकेशन डेव्हलपमेंटमध्ये मोठ्या प्रमाणावर केला जातो, ज्यामुळे अनुप्रयोगांमध्ये कार्यक्षम संप्रेषण आणि डेटा सामायिकरण सक्षम होते. Facebook, Twitter आणि Google सारख्या प्रमुख वेब सेवा देखील विकसकांसाठी API प्रदान करण्यासाठी RESTful आर्किटेक्चरचा वापर करतात.