यह वास्तव में एक बहुत व्यापक प्रश्न है। सबसे बुनियादी अर्थों में, एक वेब एपीआई तब काम करता है जब कोई क्लाइंट (जैसे वेब ब्राउज़र) किसी वेब सर्वर के लिए किसी तरह का HTTP अनुरोध करता है। सर्वर यह जांचता है कि उपयोगकर्ता क्या चाहता है, यह पता लगाने के लिए अनुरोध करता है, और फिर कुछ प्रारूप (जैसे एक पृष्ठ) में डेटा लौटाता है कि ग्राहक तब जो चाहता है उसे प्राप्त करने के लिए जांच करता है। ये केवल उन चीजों के बारे में हैं जो वेब एपीआई में आम हैं; मुझे एहसास है कि यह वास्तव में आपके सवाल का जवाब नहीं देता है, लेकिन मैं एक कारण देना चाहता था कि सवाल इतना व्यापक क्यों है।
सभी प्रकार के तरीके हैं जो एक ग्राहक अपने अनुरोध को प्रारूपित कर सकता है, या कि एक सर्वर इसकी प्रतिक्रिया को प्रारूपित कर सकता है, और इसलिए किसी भी अर्थ के लिए, ग्राहक और सर्वर को कुछ बुनियादी नियमों पर सहमत होना होगा। सामान्यतया, आजकल दो बहुत ही सामान्य शैली हैं जो इस तरह की चीज के लिए उपयोग की जाती हैं।
दूरस्थ प्रक्रिया कॉल (RPC)
RPC स्टाइल API में, आमतौर पर पूरे API के लिए केवल एक URL होता है। आप इसे किसी प्रकार के दस्तावेज़ को पोस्ट करके कहते हैं, जिसमें आप क्या करना चाहते हैं, इसके बारे में जानकारी होती है, और सर्वर उस दस्तावेज़ को वापस करता है जो आपके पास है। सामान्य कंप्यूटिंग शब्दों में, अनुरोध दस्तावेज़ में आमतौर पर एक फ़ंक्शन नाम और कुछ तर्क होते हैं।
एपीआई की इस शैली के कुछ मानकों में XML-RPC और SOAP शामिल हैं। ये मानक एक प्रारूप बनाने का प्रयास करते हैं जिसका उपयोग आपके द्वारा किए जा रहे फ़ंक्शन कॉल का वर्णन करने के लिए किया जा सकता है, या यहां तक कि पूरे एपीआई का वर्णन करने के लिए भी किया जा सकता है।
स्टेटिकेशनल ट्रांसफर (REST)
REST शैली API में, आपके पास API के लिए नाम स्थान के रूप में एक URL इतना नहीं होता है : एक सर्वर, या सर्वर के अंदर एक फ़ोल्डर, जहाँ बहुत सारी वस्तुएँ रहती हैं, और इस नामस्थान के भीतर प्रत्येक URL हिस्सा बन जाता है। एपीआई के। सर्वर है कि आप एपीआई का उपयोग करना चाहते कह के बजाय, यूआरएल सर्वर क्या आप एपीआई का उपयोग करना चाहते बताता है पर । इसके बाद आप HTTP विधि, और संभवतः अनुरोध शरीर का उपयोग करें, आप क्या करना चाहते हैं की व्याख्या करने के लिए है कि वस्तु: मिलता है, पोस्ट (कुछ नया बनाने), PUT (कुछ पहले से ही वहाँ है कि की जगह), (कुछ पहले से ही वहाँ है कि पुनः प्राप्त) या DELETE (उस चीज़ से छुटकारा पाएं जो पहले से है)। कुछ अन्य क्रियाएं हैं जिनका आप उपयोग कर सकते हैं, लेकिन वे अब तक सबसे आम हैं।
अब तक, मैंने REST के लिए मानक प्रारूपों का उल्लेख नहीं किया है। सिद्धांत रूप में, आप किसी भी प्रारूप के बारे में उपयोग कर सकते हैं। HTTP पहले से ही कहता है कि आप क्या करना चाहते हैं और आप इसे क्या करना चाहते हैं, इसलिए अनुरोध निकाय का प्रारूप कुछ भी हो सकता है: आप जिस वस्तु को बनाना या बदलना चाहते हैं उसका कुछ प्रतिनिधित्व। लेकिन व्यवहार में, REST लेखक वैसे भी एक प्रारूप पर सहमत होते हैं, क्योंकि हर संभव प्रारूप की समझ बनाना मुश्किल होगा।