לדלג לתוכן

ISAPI

מתוך ויקיפדיה, האנציקלופדיה החופשית
גרסה מ־14:01, 26 באפריל 2006 מאת AlexKarpman (שיחה | תרומות) (השוואה של שלושה משפטים בין הרחבות ISAPI ל-CGI ול-ASP.)

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

קיימים שני סוגים של רכיבי ISAPI: הרחבות ISAPI (אנגלית: ISAPI extensions) ומסנני ISAPI (אנגלית: ISAPI filters). שני הסוגים ממומשים כקבצי DLL.

הרחבות ISAPI הן יישומי צד-שרת מלאים, שניתנים להרצה ישירות משורת הכתובת בדפדפן. ניתן להשתמש בהרחבות ISAPI במקום בתוכנות CGI או בטכנולוגיות צד־שרת כמו ASP ו־PHP. דוגמה להרחבת ISAPI היא הרחבות השרת של FrontPage. הרחבות ISAPI פועלות מהר יותר מיישומי CGI, מאחר והן ממומשות כקבצי DLL, ופעולות באותו מרחב תהליך כמו השרת עצמו. הן גם יותר מהירות מיישומי ASP מקבילים, מאחר והקוד מהודר ולא מפורש. החיסרון הוא שבאג בהרחבת ISAPI יכול להשפיע על כל השרת, בעוד שבאג ביישום CGI או ASP יהיה מקומי. בנוסף, פיתוח הרחבות ISAPI קשה ומסובך יותר מפיתוח יישומים מקבילים בפלטפורמות מבוססות תסריט, כמו ASP ו-PHP.

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

קישורים חיצוניים