اشاره :


از زمان ارايه سيستم‌عامل شبكه‌اي ويندوز 0.4NT، وب سرورIIS يكي از اجزاي سيستم‌عامل‌هاي سرور مايكروسافت بوده كه نصب يا عدم نصب آن از طرف كاربر به صورت دلخواه و به راحتي در هر زماني قابل انجام بوده است. به عنوان مثال ويندوز 0.4 NT همراه 4IIS ، ويندوز 2000 همراه 5 IIS و ويندوز XP به همراه 1.5 IIS به بازار ارايه شدند. تا قبل از ويندوز 2003، كليه ويرايش‌ها و نسخه‌هاي مختلف IIS بسيار مشابه هم بودند و مي‌شد آن‌ها را جزء يك خانواده به حساب آورد، اما پس از آن و با به ميان آمدن ويندوز 2003، كه نسخه ششم IIS را به همراه خود داشت، قضيه كاملاً متفاوت شد. در اين نسخه كه مي‌توان آن را يك بازنويسي كامل از وب سرور قديمي دانست، بسياري از مدل‌هاي اجراي كد، تسهيلات مربوط به مديريت و سرعت و كارايي آن، دچار تغييرات و بهبودهاي قابل ملاحظه‌اي شده‌است. از طرف ديگرآپاچي با سابقه‌اي بيشتر كه براساس كدينگ http كار مي‌كرد، همواره به عنوان سمبل وب سرورهاي دنياي يونيكس مطرح بود. نسخه1.3 x آپاچي كه تا سال 2002 مورد استفاده قرار مي‌گرفت، با استفاده از ترفندهاي تكنيكي خاصي برروي ساير سيستم‌عامل‌ها و حتي ويندوز هم قابل نصب و اجرا بود. اما با پيدايش آپاچي نسخه 2، همين معادلات هم دچار تحولي بزرگ گرديد. اين نسخه كه داراي محيطي كاملاً تغيير يافته بوده و توابع درون آن با ظرافت هر چه تمام‌تر استقلال خود را از سيستم‌عامل تثبيت كرده بودند، توانست بر روي كليه سيستم‌عامل‌هاي ويندوز، يونيكس، لينوكس، مكOSX و حتي سيستم‌عامل‌هاي ديگري چونVMS و Be OS نصب و اجرا شود.



مقايسه
در مقام مقايسه IIS و آپاچي مي‌توان گفت كه هر كدام داراي مزايا و معايبي نسبت به يكديگر هستند. IIS فقط براي اجرا در ويندوز ساخته شده ‌است به‌خصوص نسخه ششم آن فقط در ويندوز 2003 قابل‌اجرا مي‌باشد. اگر چه بسياري از كارشناسان، اين مسئله را نوعي نقطه‌ضعف در ساختار IIS مي‌دانند، برخي ديگر هماهنگي بسيار دقيق ميان آن و ويندوز 2003 و سرويس‌هاي ديگر سيستم‌عامل را كه باعث آسان‌تر بودن مديريت IIS شده است، از نقاط برتري آن به حساب مي‌آورند. به‌خصوص در نسخه ششم جدا شدن ماژول مخصوص دريافت درخواست‌ها(Request) از ماژول ويژه پردازش آن‌ها، سهم به‌سزايي در افزايش كارايي آن داشته است. در اين روش ماژول Listener كه در كرنل مستقر شده است (Http.sys)، درخواست‌هاي ارسالي از طرف كلاينت‌ها را دريافت‌‌‌كرده و آن‌ها را به ترتيب در داخل يك يا چند صف درخواست قرار مي‌دهد. سپس IIS به اين درخواست‌ها با اختصاص حداقل يك پروسه كاري (Worker Process) به هر درخواست، پاسخ مي‌دهد. اين ويژگي باعث مي‌شود حتي زماني كه IIS به شدت مشغول پاسخ‌دهي به درخواست‌هاي قبلي است، ماژول جداگانه‌اي كه در كرنل مستقر است، بتوانند درخواست‌هاي جديد را دريافت كرده و حداقل آن‌ها را در انتظار پاسخ قرار دهند. همچنين با اين وضعيت، سيستم‌عامل مي‌تواند كنترل بهتري را در اختصاص پروسه‌هاي لازم به IIS جهت پردازش درخواست‌ها انجام دهد. در آپاچي هم جريان تا حدودي مشابه همين روال است. در اين جا تعدادي ماژول با قابليت انجام چند پردازش در واحد زمان (Multi Processing module) وظيفه دريافت و پاسخ به درخواست‌ها را برعهده دارند. اين ماژول‌ها كه با استفاده از تكنولوژي APR يا Apache Portable Runtime برروي بسياري از سيستم‌عامل‌هايي كه از كدهاي كامپايل شده زبان C پشتيباني مي‌كنند، قابل اجرا هستند، با استفاده از امكانات و قابليت‌هايMultith re adingهمان سيستم‌عامل ميزبان به سرعت و به صورت همزمان درخواست‌هاي رسيده از طرف كلاينت‌ها را دريافت و پردازش مي‌كنند.