54 ISAPI Extensions برنامههایی کاربردی هستند که به کلیهی قابلیتهای IIS دسترسی کامل و جامع دارند، و در جهت مدیریت و توسعه IIS استفاده میگردند. از مزایایی این Extensionها میتوان به سرعت اجرا بالا و پردازش سریع به دلیل کدهای کامپایل شده آن اشاره کرد.
همانطور که در تصویر فوق مشاهده مینمائید برقراری ارتباط بین Extension و IIS از طریق یک اشاره گرِ نوع ECB، یا Extension Control Block است. بطور خلاصه ISAPI extension یک DLL منظم (regular) میباشد که از سه تابع زیر جهت برقراری ارتباط با وبسرور استفاده میکند.
GetExtensionVersion
HttpExtensionProc
TerminateExtension (optional)
هنگامی که Client (سرویسگیرنده) در خواستی را به وبسرور ارسال میکند، چنانچه درخواست شامل فایلهای ایستا مانند HTML، JS، تصاویر و غیره باشد، IIS خود درخواست را پردازش و پاسخ را به سرویسگیرنده بازمیگرداند، در غیر اینصورت با توجه به نوع فایلِ پویا، درخواست به ISAPI dll مربوط تحویل داده میشود، به عبارت دیگر DLL مورد نظر بصورت یکتابع و با آرگومانهای خاص توسط IIS فراخوانی میگردد. بهعنوان مثال پردازش درخواستهای ارسال شدهی صفحات ASP، توسط ISAPI extensionای به نام asp.dll انجام میگیرد.
ISA درخواست ارسال شده از سمت کاربر را پردازش کرده و محتوا را بهعنوان پاسخ ارائه و یا آنرا در بانکاطلاعاتی ذخیره میکند، وبسرور اکستنشن (Web server extensions) اینقابلیت را دارد که از اطلاعات ذخیره شده برای ساخت پویای صفحات وب استفاده نموده و برای نمایش به سیستم کاربر ارسال کند، برنامهنویس میتواند قابلیتها و دادههای مورد نظر خود را به این صفحه ساختهشده افزوده و صفحهوب نهایی را با استفاده از HTTP و HTML به کاربر تحویل دهد.
ISAPI Filter:
وظیفه ISAPI Filter، *****ینگ درخواستهایی که به وب سرور ارسال، و پاسخگوئی به event (رُخداد)هایی که از سمت IIS ارسال میشود، است. بهعنوان مثال ISAPI Filter میتواند اطلاعاتی آماری درباره درخواستهای http تهیه و در یک بانکاطلاعاتی ذخیره کند که حکم یک نوع Log را خواهد داشت، و یا ساختارورودی فایلهای فیزیکی را کنترل کند.
برخی از ویژگی هایی که با ISAPI Filter انجام میشود به شرح زیر است:
تغییر اطلاعات درخواستی (URLها و یا headerها) ارسال شده توسط کاربر.
کنترل فایل فیزیکی متصل به آدرس URL.
اعمال تغییرات و تجزیه و تحلیل درخواست بعد از اتمام فرآیند احراز هویت.
استفاده ازHttpModuleبرایانجامبازنویسیآ درس.
اجرای پردازشهای دلخواه در خصوص پاسخهایی که با Access Denied مواجه میشوند.
اجرای پردازش هنگامی که درخواست کامل می شود.
اجرای پردازش هنگامی که ارتباط سرویسگیرنده و سروردهنده قطع میشود.
کنترل نام کاربری و رمز عبور با سیستم احراز هویت Basic یا Anonymous.
تهیه گزارشات خاص و آنالیز ترافیک.
مدیریت رمزنگاری و فشرده سازی.
اجرا نمودن authentication دلخواه.
فعال سازی ISAPI در Windows Server 2008 R2:
ابتدا از منوی start، بخش Administrative Tools، گزینهی Server Manager را انتخاب کنید.
از بخش Roles ، گزینهی Web Server (IIS) را انتخاب کنبد.
در بخش Role Services بر روی گزینه Add Role Services کلیک نموده، سپس گزینههای ISAPI Extensions و ISAPI filter را انتخاب نمایید تا فعال گردند.
حال بر روی کلید install کلیک کنید.
چگونگی اضافه نمودن ISAPI filter در IIS:
ابتدا از منوی start، بخش Administrative Tools، بر روی گزینه Internet Information Services (IIS) کلیک نمایید.
وبسایتی را که میخوهید تنظیمات مربوط به ISAPI Filter برای آن انجام گیرد را انتخاب نمایید.
در صفحه اصلی بر روی ISAPI Filters دابل کلیک کنید.
حال از بخش Actions بر روی گزینه Add کلیلک کنید
در بخش filtername نام دلخواه و در قسمت Executable مسیر فایل dll را وارد کنید.