مقایسه اجمالی دو وب سرور IIS و Apache

منتشرشده در مقالات هاست و سرور
دوشنبه, 15 آذر 1395 ساعت 20:30

IIS یا Internet Information Service همانطور که قبلا هم گفته ایم محصول شرکت مایکروسافت است و طبیعتا فقط و فقط قابلیت اجرا شدن و نصب شدن بر روی سیستم عامل پولی ویندوز را دارد. مایکروسافت ادعا می کند که وب سرور IIS یک وب سرور رایگان است اما به هر حال شما بر خلاف لینوکس که رایگان است ، برای سیستم عامل ویندوز باید هزینه پرداخت کنید ( الکی مثلا ما خیلی خارجی هستیم ). مهمترین مزیتی که IIS بر آپاچی وب سرور دارد این است که این وب سرور بر روی سیستم عامل آشنا و شناخته شده ای به نام ویندوز نصب و راه اندازی می شود و طبیعتا افراد بیشتری می توانند براحتی از آن استفاده کنند و یادگیری آن به نسبت ساده تر از وب سرور آپاچی است . وب سرور IIS این توانایی را دارد که از پلتفرم مایکروسافتی .NET Framework مایکروسافت پشتیبانی کند و اسکریپت های ASPX را براحتی اجرا می کند. یکی از مهمترین نقاط قوت سرویس IIS این است که پشتیبانی آن توسط یک غول نرم افزاری به نام مایکروسافت انجام می شود که تقریبا به همه مشکلاتی که توسط این سرویس ایجاد می شود رسیدگی می کند و به سرعت مشکلاتش را برطرف می کند.

وب سرور آپاچی بیشتر از این جهت در میان مردم محبوب است که کاملا رایگان است و به هیچ عنوان نیازی نیست برای استفاده از این وب سرور هزینه ای پرداخت کنید. این وب سرور تحت لیسانس GNU ارائه شده است. همین رایگان بودن برای بسیاری از افراد که در اینترنت به دنبال خدمات رایگان هستند یک مزیت اساسی محسوب می شود. اما وب سرور آپاچی را معمولا به تنهایی استفاده نمی کنیم و زمانیکه صحبت از آپاچی به میان می آید ناخودآگاه ما با واژه ای به نام LAMP مواجه می شویم که هیچ ارتباطی با لامپ ندارد ( به خدا یه دفه دیدی اشتباه شد ) واژه LAMP مخفف کلمه های Linux Apache MySQL Perl PHP است که یک پکیج کامل برای ارائه خدمات به نرم افزارهای Open Source است و تمامی نیازهای یک نرم افزار Open Source را برآورده می کند. لینوکس به عنوان سیستم عامل رایگان ، آپاچی به عنوان وب سرور رایگان ، MySQL به عنوان پایگاه داده رایگان و در نهایت PHP و Perl به عنوان زبان ها برنامه نویسی وب رایگان با همدیگر تشکیل یک بسته نرم افزاری رایگان فوق العاده را می دهند که نیازهای هر برنامه نویس وبی را برآورده می کند. از همه این مزایا گذشته جامعه های مجازی Open Source ای که در دنیا وجود دارد منبع بسیار خوبی برای پشتیبانی این محصول به حساب می آیند که تقریبا اکثر نیازهای یک برنامه نویس وب را پاسخگویی می کنند.

یکی از تصوراتی که در خصوص وب سرورهای آپاچی و IIS وجود داشت این بود که نرم افزارهایی که با زبان برنامه نویسی PHP یا Perl و پایگاه داده MySQL نوشته می شوند بر روی وب سرور IIS قابل اجرا نیستند و از طرفی نرم افزارهایی که با استفاده از زبان های برنامه نویسی و اسکریپت نویسی مایکروسافت مثل ASP.NET و پایگاه داده MSSQL نوشته می شوند نیز قابلیت اجرا بر روی وب سرور آپاچی را ندارند. امروزه با معرفی قابلیت های جدید این وب سرورها تقریبا این مشکلات منسوخ شده است ، شما براحتی نرم افزارهای Open Source ای مثل MySQL و PHP را می توانید بصورت ماژول در IIS توسط Web Platform Installer نصب کنید و استفاده کنید و از طرفی می توانید با استفاده از پروژه ای به نام Mono صفحات ASP.NET را بر روی سیستم عامل لینوکس و آپاچی اجرا و سرویس دهی کنید. هر چند این موارد به ندرت پیش می آید که شما اینکار را انجام بدهید اما به هر حال این امکان در حال حاضر وجود دارد. یکی از نکات منفی که در خصوص وب سرور IIS وجود دارد این است که بر روی سیستم عامل ویندوز فقط قابل اجرا است و با توجه به اینکه اکثر کدهای مخرب اعم از ویروس ها ، تروجان ها و ... برای این سیستم عامل نوشته می شوند ، احتمال آلوده شدن این وب سرور بیشتر است. اگر بخواهیم بصورت خلاصه تفاوت بین IIS و Apache را به شما بگوییم موارد زیر را می توانیم عنوان کنیم :

وب سرور آپاچی رایگان و Open Source است
وب سرور IIS پولی است و در ویندوز بصورت Closed Source قرار دارد
وب سرور آپاچی بر روی تقریبا همه سیستم عامل ها قابل اجرا است
وب سرور IIS فقط بر روی سیستم عامل های سری ویندوز مایکروسافت قابل اجرا است
وب سرور IIS بصورت اختصاصی توسط شرکت مایکروسافت پشتیبانی می شود
وب سرور آپاچی توسط Community های Open Source در تمامی دنیا پشتیبانی می شود
تهدیدات مخرب بیشتری برای وب سرور IIS به نسب وب سرور Apache وجود دارد
بسته نرم افزار آپاچی بصورت Linux Apache MySQL PHP Perl وجود دارد
بسته نرم افزار IIS بصورت Windows IIS MSSQL ASP.NET وجود دارد ITPRO باشید

Isapi چیست؟

منتشرشده در مقالات هاست و سرور
یکشنبه, 14 آذر 1395 ساعت 20:30

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 را وارد کنید.



آدرس : تهران ، میدان انقلاب ، کوچه رشتچی ، پلاک ۱۴ (ساختمان ایرانیان) ،طبقه دوم واحد ۸

 

خط ویژه: ۶۶۹۲۸۷۸۷-۰۲۱

تلفن : ۶۶۹۲۸۰۴۰-۰۲۱ | ۶۶۱۲۴۱۴۹-۰۲۱ | تلفن همراه : ۰۹۱۲۳۷۹۰۵۸۸

فکس دیجیتال: ۸۹۸۷۷۳۷۳-۰۲۱

آدرس ایمیل : wnegaran[at]gmail.com 

تمامی حقوق مادی و معنوی این سایت متعلق به شرکت وب نگاران پارسه می باشد