PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقاله IIS یا Apache، یک انتخاب



MAHDIAR
5th April 2010, 01:43 AM
مقالات نرم افزاری


مقایسه
در مقام مقایسه IIS و آپاچی می‌توان گفت که هر کدام دارای مزایا و معایبی نسبت به یکدیگر هستند. IIS فقط برای اجرا در ویندوز ساخته شده ‌است به‌خصوص نسخه ششم آن فقط در ویندوز ۲۰۰۳ قابل‌اجرا می‌باشد. اگر چه بسیاری از کارشناسان، این مسئله را نوعی نقطه‌ضعف در ساختار IIS می‌دانند، برخی دیگر هماهنگی بسیار دقیق میان آن و ویندوز ۲۰۰۳ و سرویس‌های دیگر سیستم‌عامل را که باعث آسان‌تر بودن مدیریت IIS شده است، از نقاط برتری آن به حساب می‌آورند. به‌خصوص در نسخه ششم جدا شدن ماژول مخصوص دریافت درخواست‌ها(Request) از ماژول ویژه پردازش آن‌ها، سهم به‌سزایی در افزایش کارایی آن داشته است. در این روش ماژول Listener که در کرنل مستقر شده است (Http.sys)، درخواست‌های ارسالی از طرف کلاینت‌ها را دریافت‌‌‌کرده و آن‌ها را به ترتیب در داخل یک یا چند صف درخواست قرار می‌دهد. سپس IIS به این درخواست‌ها با اختصاص حداقل یک پروسه کاری (Worker Process) به هر درخواست، پاسخ می‌دهد. این ویژگی باعث می‌شود حتی زمانی که IIS به شدت مشغول پاسخ‌دهی به درخواست‌های قبلی است، ماژول جداگانه‌ای که در کرنل مستقر است، بتوانند درخواست‌های جدید را دریافت کرده و حداقل آن‌ها را در انتظار پاسخ قرار دهند. همچنین با این وضعیت، سیستم‌عامل می‌تواند کنترل بهتری را در اختصاص پروسه‌های لازم به IIS جهت پردازش درخواست‌ها انجام دهد. در آپاچی هم جریان تا حدودی مشابه همین روال است. در این جا تعدادی ماژول با قابلیت انجام چند پردازش در واحد زمان (Multi Processing module) وظیفه دریافت و پاسخ به درخواست‌ها را برعهده دارند. این ماژول‌ها که با استفاده از تکنولوژی APR یا Apache Portable Runtime برروی بسیاری از سیستم‌عامل‌هایی که از کدهای کامپایل شده زبان C پشتیبانی می‌کنند، قابل اجرا هستند، با استفاده از امکانات و قابلیت‌هایMultithreading همان سیستم‌عامل میزبان به سرعت و به صورت همزمان درخواست‌های رسیده از طرف کلاینت‌ها را دریافت و پردازش می‌کنند.
امنیت
نحوه عملکرد وب سرور
یکی از مزایای، IIS ارتباط تنگاتنگ موجود بین آن و سیستم‌عامل است. این عامل سبب می‌شود تا IIS با توجه به این‌که سیستم‌عامل بسیاری از موارد امنیتی را قبل از رسیدن درخواست به وب سرور مورد بررسی قرار می‌دهد و هویت کاربران متصل را ارزیابی (Authentication) می‌کند، با اطمینان بیشتری به کار خود ادامه دهد. ضمن این‌که مدیر سیستم هم به دلیل اشتراک روشی که در تأمین امنیت بین سیستم‌عامل و وب سرور وجود دارد، مجبور به دوباره کاری نمی‌شود. به عنوان مثال اگر شما در اکتیودایرکتوری ویندوز ۲۰۰۳ دسترسی به یک یا چند فایل خاص را برای یک گروه از کاربران مجاز و برای گروهی دیگر غیرمجاز تعریف کرده باشید، این کاربران از هر روشی که بخواهند به آن فایل‌ها دسترسی پیدا کنند (حتی از طریق وب سرور) باید تابع قواعد تنظیم شده در اکتیودایرکتوری باشند و این قوانین در IIS نیز حکمفرما است.
در مورد آپاچی نسخه دوم، مسئله به این سادگی و روانی نیست و قاعدتاً مدیریت امنیت در مورد آن پیچیده‌تر و وقت‌گیرتر از IIS است. البته اکنون ماژول‌ها و آداپتورهای جدیدی در آپاچی تعبیه شده که امکان ارتباط بین آن و اکتیودایرکتوری ویندوز یا Password یونیکس را به‌وجود می‌آورد، اما باز هم می‌توان گفت که اصولاً با وجود این ارتباط هم در آپاچی، سیستم‌عامل و وب سرور هر کدام ساز خود را می‌زنند و آپاچی چندان از قواعد امنیتی تعریف شده در سیستم‌عامل تبعیت نمی‌کند. البته بسیاری از طرفداران آپاچی این مسئله را نوعی نقطه قوت آپاچی دانسته و با ذکر این نکته که اولاً هر درخواست از طرف خارج باید از دو سد محکم سیستم‌عامل و وب سرور عبور کند و ثانیاً حفره‌های امنیتی در سیستم‌عامل‌های یونیکس و آپاچی بسیار کمتر از ویندوز و IIS است، استفاده از آپاچی را از لحاظ امنیتی دارای ریسک کمتری نسبت به IIS می‌دانند.
از لحاظ پروتکل‌های امنیتی، هر دو وب سرور کلیه پروتکل‌ها از جمله SSL ،IPsec و مکانیسم‌های هویت‌سنجی Basic Digest LDAP را پشتیبانی می‌کنند.

MAHDIAR
5th April 2010, 01:44 AM
کارایی
مقایسه کارایی آپاچی و iis همواره از مشکل‌ترین بحث‌های تکنیکی دنیای وب سرورها بوده است؛ چرا که این نوع مقایسه مستلزم به‌وجود آوردن شرایط یکسان آزمایش به صورت منصفانه‌ برای دو طرف رقابت است که دست یافتن به این شرایط، کاری آسان و صددرصد قابل انجام نمی‌باشد. شاید به تصور خیلی‌ها می‌توان زمان دریافت، پردازش و پاسخ هر دو وب سرور به یک صفحه cgi یا jsp (که مورد پشتیبانی هر است) را برروی یک سرور با مشخصات سخت‌افزاری یکسان به معرض آزمون گذاشت، اما این هم به نمی‌تواند تنهایی پاسخگوی معمای کارایی باشد. چرا که اولاً شاید هر دو وب سرور ادعای بهترین کارایی خود در تکنولوژی مشترکی مثل jsp را نداشته باشند. مثلاً شاید مایکروسافت asp.net را که فعلا در آپاچی پشتیبانی نمی‌شود، بهترین عرصه برای نمودار‌شدن کارایی iis بداند. ثانیاًٌ نباید فراموش کرد که آپاچی، یک وب سرور چند سکویی می‌باشد و این باعث می‌شود تا صورت مسئله کمی پیچیده‌تر شود و کسانی که می‌خواهند به داوری مسابقه کارایی این دو وب سرور بنشینند را با سؤالی جدیدتر روبرو کند و آن هم این است که iis ویندوز را با آپاچی کدام سیستم‌عامل مقایسه کنیم ؟ آیا اصولاً آپاچی ادعایی بر ارایه بهترین کیفیت و کارایی خود برروی سیستم‌عامل مشترک ویندوز را دارد یا این‌که کماکان به سرعت خود برروی سیستم‌عامل‌های یونیکس و لینوکس می‌بالد؟
وب سرورهای مختلف در ده سال اخیر
در IIS 6 وجود مدل‌های متعدد پردازشی که ویژه کار در محیط‌های چند پردازنده‌ای در نظر گرفته شده‌اند، سرعت اجرای برنامه‌های ASP و یا ISAPI را تا حد بسیار مطلوبی بالا برده‌اند. همچنین درایور HTTP.sys در این نسخه قادر است به صورت مستقیم به اطلاعات موجود در cache (چه هارددیسک و چه حافظه اصلی) دسترسی پیدا کند بدون آن‌که نیازمند وجود واسطه‌ای مثل پروسه‌های کاری برای انجام این کار باشد. IIS همچنین قادر است صفحاتی را که توسط عناصر دینامیک وب به صورت RunTime ساخته می‌شوند را در cache ذخیره کند تا در صورتی که کلاینت‌ بعدی هم بخواهد همین صفحه را تولید کند، به جای ساختن دوباره آن، از محل cache اطلاعات را بدون پردازش خاصی به سمت کلاینت مذکور بفرستد.
در آپاچی نیز اوضاع به همین گونه است. ماژول‌های modperl وmodphp با استفاده از همان مکانیسم cache سرعت تولید صفحات دینامیک را همانند صفحات استاتیک به حداکثر خود می‌رسانند. همچنین دقیقاً مشابه فیلترهای ASP و ISAPI در IIS، در این جا هم ماژول‌های Perl و PHP مستقیماً درخواست‌های کلاینت‌ها را مورد بررسی قرار داده و پاسخ لازم را ارسال می‌کنند و بدین وسیله از ارجاع درخواست‌ها به محیط خارج آپاچی و کند شدن روند پاسخ جلوگیری می‌کنند.
مدیریت
در مورد مدیریت وب سرور، اختلافاتی بین دو وب سرور مذکور وجود دارد. آپاچی در نسخه‌های اولیه خود، وب سروری کاملا TextBased به نظر می‌‌رسید که صرفاً با دستکاری مستقیم در فایل‌های پیکربندی، تنظیم وب سرور و یا با استفاده از دستورات خط فرمان مدیریت آن امکان‌پذیر بود. اما اکنون بسیاری از واسط کاربرهای گرافیکی مثل Comanche قادرند یک محیط گرافیکی کاربرپسند و در واقع یک لایه بیرونی برای کار با آپاچی فراهم کنند. در این زمینه لیستی از واسط کاربرهای گرافیکی تهیه شده در سایت آپاچی به نشانی [برای مشاهده لینک ها شما باید عضو سایت باشید برای ثبت نام روی این نوشته کلیک بکنید] موجود و قابل داونلود است. البته بسیاری از کاربران وجود مدیریت و تنظیمات Text Based را برای آپاچی یک مزیت عنوان می‌کنند. به عقیده این افراد، با این نوع پیکربندی آپاچی می‌توان به سادگی و صرفاً با کپی کردن چند فایل از کامپیوتری به کامپیوتر دیگر همه تنظیمات یک سرور آپاچی را به سرور دیگر منتقل و از صرف وقت برای تنظیم دستی آن خلا‌ص شد. این مسئله برای وب سروری مثل IIS که تنظیمات خود را در قالب فایل‌های باینری نگهداری می‌کند، قابل انجام نیست. البته در IIS 6 تنظیمات وب سرور در قالب فایل‌های XML قابل دسترسی است. و بدین‌وسیله و با روش Import و Export می‌توان تنظیمات یک وب‌‌سرور را به دیگری منتقل کرد. همچنین اینکه علاوه بر این کار، IIS 6 امکان مدیریت راه‌دور را از طریق دستورات خط فرمان و اجرای آن با پروتکل Telnet را مشابه آپاچی به کاربران خود داده است. در ضمن هر دو وب سرور، امکان مدیریت از طریق وب را به کاربران داده‌اند. IIS از طریق Web Based Administration و آپاچی با استفاده از ابزاری به نام Webmin این تسهیلات را مهیا کرده‌اند.
قابلیت اطمینان
IIS 6 با جدا کردن حافظه و محل اجرای برنامه‌های وب از یکدیگر، باعث شده است در صورت بروز یک مشکل در هر یک از برنامه‌های در حال اجرا، این مشکل به سایر برنامه‌ها و پردازش‌های در حال اجرا سرایت نکند. در آپاچی نسخه دوم این عمل تا حدودی قابل انجام است. بدین‌معنی که اصولاً آپاچی با مکانیسم‌های تشخیص و ترمیم خطا، از سرایت مشکل به قسمت‌ها و پردازش‌های دیگر جلوگیری می‌کند، اما به طور کلی نمی‌تواند همانند IIS عمل جداسازی برنامه‌ها از یکدیگر را انجام دهد و در برخی موارد، بروز یک مشکل در یکی از پردازش‌ها، مدیر وب را ناچار به راه‌اندازی مجدد (Restart) وب سرور می‌کند.
نکته دوم در این مقایسه هم به نفع IIS تمام می‌شود. بدین صورت که در نسخه ششم آن امکان پیکربندی مجدد سیستم حتی در زمان اجرای پردازش‌ها و بدون‌نیاز به راه‌اندازی مجدد وب‌سرور امکان‌پذیر است. این امکان که به آن Live Configuration گفته می‌شود، سبب می‌شود مدیر سیستم بتواند بدون آن‌که وب سرور و در نتیجه بسیاری از پردازش‌های در حال اجرا و درخواست‌های در حال پاسخگیری را متوقف کند، تنظیمات IIS را تغییر دهد و وب‌ سرور را Refresh کند. در صورتی که در آپاچی نسخه دوم، این عمل بدون بوت کردن مجدد وب سرور میسر نیست.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد