इंटरनेट सर्वर अनुप्रयोग प्रोग्रामिंग इंटरफ़ेस

इंटरनेट सर्वर अप्लिकेशन प्रोग्रामिंग अंतरफलक (आईएसएपीआई) एक मल्टीटियर आर्किटेक्चर है।एन-इंटरनेट सूचना सेवाओं (आईआईएस) का टीयर एप्लिकेशन प्रोग्रामिंग इंटरफेस, माइक्रोसॉफ्ट का माइक्रोसॉफ़्ट विंडोज़ -आधारित वेब सर्वर सेवाओं का संग्रह। IIS और ISAPI का सबसे प्रमुख अनुप्रयोग Microsoft का वेब सर्वर है। ISAPI को Apache HTTP सर्वर द्वारा भी लागू किया गया है mod_isapi मॉड्यूल ताकि Microsoft के IIS के लिए लिखे गए सर्वर-साइड वेब एप्लिकेशन का उपयोग Apache के साथ किया जा सके। ज़ीउस वेब सर्वर जैसे अन्य तृतीय-पक्ष वेब सर्वर भी आईएसएपीआई इंटरफेस प्रदान करते हैं।

Microsoft के वेब सर्वर एप्लिकेशन सॉफ़्टवेयर को इंटरनेट सूचना सेवाएँ कहा जाता है, जो कई उप-अनुप्रयोगों से बना है और बहुत ही विन्यास योग्य है। ASP.NET IIS का एक ऐसा टुकड़ा है, जो एक प्रोग्रामर को अपनी पसंद की प्रोग्रामिंग भाषा (VB.NET, C Sharp (प्रोग्रामिंग भाषा)|C#, F Sharp (प्रोग्रामिंग भाषा)|F#) में वेब एप्लिकेशन लिखने की अनुमति देता है जो इसके द्वारा समर्थित है Microsoft .NET सामान्य भाषा रनटाइम। ISAPI बहुत निचले स्तर की प्रोग्रामिंग प्रणाली है, जो सादगी की कीमत पर बेहतर प्रदर्शन देती है।

ISAPI अनुप्रयोग
ISAPI में दो घटक होते हैं: एक्सटेंशन और फ़िल्टर। ये केवल दो प्रकार के अनुप्रयोग हैं जिन्हें ISAPI का उपयोग करके विकसित किया जा सकता है। फ़िल्टर और एक्सटेंशन दोनों को DLL फ़ाइलों में संकलित किया जाना चाहिए जो तब IIS के साथ पंजीकृत होते हैं जिन्हें वेब सर्वर पर चलाया जाता है।

आईएसएपीआई अनुप्रयोगों को किसी भी भाषा का उपयोग करके लिखा जा सकता है जो मानक सी कार्यों के निर्यात की अनुमति देता है, उदाहरण के लिए सी, सी ++, डेल्फी। कुछ पुस्तकालय उपलब्ध हैं जो आईएसएपीआई अनुप्रयोगों के विकास को आसान बनाने में मदद करते हैं, और डेल्फी पास्कल में वेब-अनुप्रयोग विकास के लिए इंट्रावेब घटक हैं। माइक्रोसॉफ्ट फाउंडेशन क्लास लाइब्रेरी में आईएसएपीआई अनुप्रयोगों के विकास के लिए कक्षाएं शामिल हैं। इसके अतिरिक्त, ATL सर्वर तकनीक है जिसमें ISAPI अनुप्रयोगों को विकसित करने के लिए समर्पित C++ लाइब्रेरी शामिल है।

एक्सटेंशन
आईएसएपीआई एक्सटेंशन सही अनुप्रयोग हैं जो आईआईएस पर चलते हैं। उनके पास आईआईएस द्वारा प्रदान की जाने वाली सभी कार्यक्षमताओं तक पहुंच है। आईएसएपीआई एक्सटेंशन को डायनामिक-लिंक लाइब्रेरी के रूप में कार्यान्वित किया जाता है जो आईआईएस द्वारा नियंत्रित प्रक्रिया में लोड होते हैं। ग्राहक ISAPI एक्सटेंशन तक उसी तरह पहुँच सकते हैं जैसे वे एक स्थिर HTML पृष्ठ तक पहुँचते हैं। कुछ फ़ाइल एक्सटेंशन या एक पूर्ण फ़ोल्डर या साइट को ISAPI एक्सटेंशन द्वारा प्रबंधित करने के लिए मैप किया जा सकता है।

फ़िल्टर
ISAPI फ़िल्टर का उपयोग IIS द्वारा प्रदान की गई कार्यक्षमता को संशोधित करने या बढ़ाने के लिए किया जाता है। वे हमेशा एक IIS सर्वर पर चलते हैं और हर अनुरोध को तब तक फ़िल्टर करते हैं जब तक कि उन्हें वह नहीं मिल जाता जिसे उन्हें संसाधित करने की आवश्यकता होती है। फ़िल्टर को डेटा की इनकमिंग और आउटगोइंग स्ट्रीम दोनों की जांच और संशोधित करने के लिए प्रोग्राम किया जा सकता है। आंतरिक रूप से क्रमादेशित और बाहरी रूप से कॉन्फ़िगर की गई प्राथमिकताएं निर्धारित करती हैं कि फ़िल्टर किस क्रम में कहे जाते हैं।

फ़िल्टर DLL के रूप में कार्यान्वित किए जाते हैं और IIS सर्वर पर साइट स्तर या वैश्विक स्तर पर पंजीकृत किए जा सकते हैं (अर्थात, वे IIS सर्वर पर सभी साइटों पर लागू होते हैं)। जब कार्यकर्ता प्रक्रिया शुरू की जाती है और उस साइट पर सभी अनुरोधों को सुनता है जिस पर यह स्थापित है, तो फ़िल्टर प्रारंभ हो जाते हैं।

ISAPI फ़िल्टर द्वारा किए जाने वाले सामान्य कार्यों में शामिल हैं:
 * क्लाइंट द्वारा भेजे गए अनुरोध डेटा (यूआरएल या हेडर) को बदलना
 * नियंत्रित करना कि कौन सी भौतिक फ़ाइल URL पर मैप की जाती है
 * अनाम या बेसिक एक्सेस प्रमाणीकरण के साथ उपयोग किए जाने वाले उपयोगकर्ता नाम और पासवर्ड को नियंत्रित करना
 * प्रमाणीकरण पूर्ण होने के बाद किसी अनुरोध में संशोधन या विश्लेषण करना
 * क्लाइंट के पास वापस जाने वाली प्रतिक्रिया को संशोधित करना
 * पहुंच से वंचित प्रतिक्रियाओं पर कस्टम प्रोसेसिंग चलाना
 * एक अनुरोध पूरा होने पर प्रसंस्करण चल रहा है
 * क्लाइंट के साथ कनेक्शन बंद होने पर प्रोसेसिंग चलाएं
 * विशेष लॉगिंग या वेब विश्लेषिकी  करना।
 * कस्टम प्रमाणीकरण करना।
 * एन्क्रिप्शन और संपीड़न को संभालना।

सामान्य ISAPI अनुप्रयोग
यह आईएसएपीआई एक्सटेंशन के रूप में कार्यान्वित सामान्य आईएसएपीआई अनुप्रयोगों की एक सूची है:
 * सक्रिय सर्वर पृष्ठ (एएसपी), मानक के रूप में स्थापित
 * ActiveVFP, IIS पर स्थापित सक्रिय विज़ुअल फॉक्सप्रो
 * ASP.NET, IIS 6.0 के बाद मानक के रूप में स्थापित
 * Adobe ColdFusion, ColdFusion के बाद के संस्करण IIS पर इंस्टॉल किए जा सकते हैं
 * पर्ल ISAPI (उर्फ Perliis), इंस्टॉल करने के लिए निःशुल्क उपलब्ध है
 * PHP, स्थापित करने के लिए निःशुल्क उपलब्ध है, अब इसका रखरखाव नहीं किया जाता है।

आईएसएपीआई विकास
ISAPI अनुप्रयोगों को किसी भी विकास उपकरण का उपयोग करके विकसित किया जा सकता है जो Windows API DLL उत्पन्न कर सकता है। विज़ुअल C++ 4.0 के बाद से ISAPI फ्रेमवर्क एप्लिकेशन जनरेट करने के लिए विज़ार्ड्स Microsoft डेवलपमेंट टूल्स में उपलब्ध हैं।

यह भी देखें

 * इंटरनेट सूचना सेवाएँ
 * एटीएल सर्वर
 * सर्वर अनुप्रयोग प्रोग्रामिंग इंटरफ़ेस
 * सी ++
 * पीएचपी
 * फास्टसीजीआई