Internet Server API

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

Internet Server Application Programming Interface, או בראשי תיבות ISAPI, הוא ממשק התכנות ליישומים של שרת IIS של מיקרוסופט. רכיבי ISAPI משמשים למטרות רבות, בהן ניתן לציין את המפרשים של שפות תכנות וטכנולוגיות כגון ASP,‏ הרחבות השרת של FrontPage,‏ מימוש טכנולוגיית SSI בשרת IIS, ועוד. שירות נפוץ נוסף שממומש כרכיב ISAPI הוא מנגנון הפניית דפים עבור שרת IIS (מקביל ל־mod_rewrite של שרת אפאצ'י). ניתן להריץ רכיבי ISAPI גם על שרת אפאצ'י בעזרת מודול ההרחבה mod_isapi. הדבר אפשרי על מערכות חלונות בלבד.

קיימים שני סוגים של רכיבי ISAPI: שני הסוגים ממומשים כקובצי DLL.

  • הרחבות ISAPI הן יישומי צד-שרת מלאים, שניתנים להרצה ישירות משורת הכתובת בדפדפן. ניתן להשתמש בהרחבות ISAPI במקום בתוכנות CGI או בטכנולוגיות צד-שרת כמו ASP ו־PHP. דוגמה להרחבת ISAPI היא הרחבות השרת של FrontPage.‏
    היתרון של הרחבות ISAPI על פני טכנולוגיות מקבילות הוא המהירות: הרחבות ISAPI פועלות מהר יותר מיישומי CGI, מאחר שהן ממומשות כקובצי DLL, ופועלות באותו מרחב תהליך כמו השרת עצמו. הן יותר מהירות מיישומי ASP,‏ PHP וטכנולוגיות דומות, מאחר שהקוד מהודר ולא מפורש. החיסרון, מנגד, הוא שבאג בהרחבת ISAPI עלול להשפיע על כל השרת, בעוד שבאג ביישום CGI או ASP יוגבל ליישום ה־CGI, או לתסריט המורץ. בנוסף, פיתוח הרחבות ISAPI קשה ומסובך יותר מפיתוח יישומים מקבילים בפלטפורמות מבוססות תסריט, כמו ASP ו־PHP.
  • מסנני ISAPI הם רכיבים שקופים למשתמש, שמגיבים לאירועים מסוימים בשרת (לדוגמה, בקשת קובץ מסוג מסוים), ויכולים לשנות את המידע המוחזר ללקוח. כך, לדוגמה, ממומשים מפרשי ASP ו־SSI: כאשר לקוח מבקש דף בסיומת asp מורץ מפרש ASP, מנתח את הדף, ומחזיר לשרת את תוצאות הרצת הקוד, שבתורו מחזיר אותו ללקוח. באופן זה הוא משנה את התנהגות ברירת-המחדל של השרת, כל זאת באופן שקוף לחלוטין למשתמש.

קישורים חיצוניים[עריכת קוד מקור | עריכה]