وب سرور IIS چیست و به چه صورت کار میکند؟ IIS مخفف عبارت Internet Information Service است و به معنای سرویس اطلاعات اینترنتی یا وب سرور ویندوزی میباشد. این برنامه به عنوان یک برنامه ویژوال بیسیک شناخته میشود که پاسخی برای درخواستهای ارسالی مرورگر است. این سرور از دیدگاه یک کاربر معمولی مجموعهای از کدهای HTML به نظر میرسد اما کاربران حرفهای آن را دارای کدهایی به نام webclass میدانند. در این مطلب قصد داریم علاوه بر پاسخ به این سوال که IIS چیست، به بررسی سایر جوانب آن از جمله تاریخچه، نحوه پردازش، کاربردها، بررسی نسخهها، مزایای، معایب و سوالات متداول نیز بپردازیم.
وب سرور IIS چیست؟
بهتر است قبل از اینکه به پاسخی دقیق راجع به این سوال که وب سرور IIS چیست بپردازیم شما را با مفهوم وب سرور آشنا کنیم تا درک بیشتری از مطلب پیش رو داشته باشید. در حال حاضر تمام افراد جهان با اینترنت و مزایای آن آشنایی دارند. اما اغلب آنها اطلاعات زیادی درباره زوایا و پیچیدگیها آن ندارند. اینترنت دارای پهنا و گستردگی زیادی است که بخشها و اجزای مختلفی دارد. یکی از مهمترین اجزای این اینترنت، هاستها هستند که تمام محتویات اینترنت در آنها ذخیره میشود. در واقع فرقی ندارند که هاست از نوع لینوکس است یا ویندوز، ابری و…. بلکه مهم این است که برای فعال بودن آن نیاز به یک وب سرور داریم. سوالی که در این بخش مطرح میشود این است که نقش وب سرور IIS چیست؟
وب سرورها قادر به کنترل کردن هاست میباشند و میتوانند به کلاینتهایی پاسخ دهند که کاربران درخواستهای خود را به آنها ارسال میکنند. به عنوان مثال مطلبی که در حال مطالعه آن هستید و بر روی مرورگر شما باز شده توسط یک وب سرور برای شما بارگذاری شده است. زمانی که شما بر روی لینک مورد نظر خود کلیک میکنید و یک صفحه جدید باز میکنید از کامپیوتر شما یک درخواست به سایت ما ارسال میشود. این درخواست به واسطه وب سرور مورد بررسی قرار میگیرد و پاسخ آن به مرورگر شما ارسال میشود. مرورگر با دریافت پاسخ شروع به ترجمه اطلاعات میکند و صفحه وب برای شما به نمایش گذاشته میشود. کیفیت هاست از اهمیت زیادی برخوردار است به همین دلیل توصیه میشود اقدام به خرید هاست از شرکتهای معتبر کنید.
تاریخچه IIS
پس از اینکه به خوبی عملکرد وب سرور را متوجه شدید نوبت به این میرسد که تاریخچه یکی از آنها به نام وب سرور IIS را بررسی کنیم. نخستین وب سروری که توسط کمپانی مایکروسافت ارائه شد EMWAC نام داشت. این وب سرور مجازی یک پروژه تحقیقاتی در مرکز دانشگاهی بود که به شکل نرمافزار رایگان توزیع شد. اما از آنجایی که این وب سرور قادر نبود میزان ترافیک مایکروسافت را کنترل کند این کمپانی مجبور شد وب سرور IIS را ایجاد کند و به مرور زمان آن را توسعه دهد. تا به امروز نسخهها و ورژنهای مختلفی از آن منتشر شده که هر کدام از آنها تلاش کرده تا نسخه قبلی خود را به تکامل برساند.
IIS چگونه کار میکند؟
نحوه عملکرد IIS چیست؟ سوالی که در این بخش در ذهن کاربران به وجود میآید این است که وب سرور IIS چگونه کار میکند؟ این وب سرور به دو روش قادر است به درخواستهای کاربران پاسخ دهد. اولین روش به صورت تک پردازهای است. منظور از تک پردازهای این است که در هر لحظه، به یک درخواست پاسخ داده میشود و دومین روش به عنوان چند پردازهای شناخته میشود که قادر است در یک لحظه به چند درخواست پاسخ دهد.
معمولا از روش دوم در موارد مربوط به کار با پایگاههای داده استفاده میشود و توسط برنامههایی از جمله node.js پشتیبانی میشود. با استفاده از این برنامه هر کدام از پردازهها، به چند زیر پردازه تقسیمبندی میشوند و سرعت ارسال پاسخ افزایش پیدا میکند. در واقع فرقی ندارد که از کدام شیوه برای بررسی درخواستها و ارسال پاسخ استفاده میشود. بلکه مهم این است که وب سرور IIS درخواستها را مدیریت کرده و آنها را به شیوه خاص صفبندی میکند و در اختیار پردازهها قرار میگیرد.
نحوه پردازش اطلاعات در وب سرور IIS به چه شکلی است؟
نحوه پردازش اطلاعات در وب سرور IIS چیست؟ معمولا درخواستها بر اساس مکانیزم درخواست – پاسخ، پردازش میشوند. به این ترتیب هنگامی که کاربر یک درخواست را ارسال میکند و یک پاسخ از وب سرور دریافت میکند یک ارتباط اینترنتی میان سرویس گیرنده و وب سرور به واسطه پروتکل HTTP صورت میپذیرد. IIS برای پردازش به صورت دو لایه یا چند لایه عمل میکند که شامل Kernel Mode و User Mode میباشد.
Kernel Mode
هنگامی که اجزای اصلی سیستم عامل در حالت Kernel Mode اجرا شوند تمام کدها دارای یک فضای آدرس مجازی مشترک خواهند بود. به این معنا که اگر درایوی در حالت Kernel Mode باشد از سایر درایوها جدا نخواهد بود و در یک فضای مشترک قرار میگیرد. اگر این درایو به شکل تصادفی، در یک آدرس مجازی و اشتباه دادهای را بنویسد احتمال به خطر افتادن دادههای آن درایو وجود دارد. به همین دلیل میتوان نتیجه گرفت که اگر درایو در حالت Kernel Mode دچار خرابی شود امکان خراب شدن کل سیستم عامل وجود خواهد داشت.
User mode
زمانی که اجزای سیستم عامل در حالت User mode باشند نمیتواند به آدرسهای مجازی که مختص به سیستم عامل میباشد دسترسی داشته باشد. اگر شما در این حالت، یک برنامه را اجرا کنید ویندوز برای آن برنامه یک پروسه جداگانه ایجاد میکند و این پروسه دارای یک فضای آدرس مجازی و خصوصی است و نمیتواند دادههای مربوط به درایو دیگر را تغییر دهد. به همین دلیل هر کدام از برنامهها به صورت جداگانه اجرا میشوند و اگر یکی از آنها دچار خرابی شود، محدود به همان برنامه خواهد بود. در این شرایط عملکرد سرور، مانند یک سرور اختصاصی خواهد بود.
کاربردهای وب سرور IIS
پس از اینکه به این سوال که وب سرور IIS چیست پاسخ دادیم و تاریخچه و نحوه عملکرد آن را مورد بررسی قرار دادیم نوبت به این میرسد که کاربردهای آن را ارزیابی کنیم. این وب سرور کاربردهایی از جمله درک پورت ها، دسترسی به فایلهای log و ایجاد دایرکتورهای مجازی را دارد که در ادامه به توضیح هر کدام از آنها خواهیم پرداخت. شما میتوانید راه اندازی سرور دانلود با IIS را نیز انجام دهید.
درک پورتها
به طور معمول، اغلب سرورها از پورت ۸۰ به منظور مدیریت ترافیک HTTP استفاده میکنند. اما چالشی که برخی از افراد با آن مواجه هستند این است که اگر بخواهند از یک پورت کارآمدتر بهرهمند شوند باید چه کاری انجام دهند؟ بدین منظور باید باید IIS Manager را باز کنید. سپس بر روی سایت خود کلیک راست کنید تا تعدادی گزینه برای شما نمایش داده شود. گزینه Properties را انتخاب کنید. در باکس Properties Dialog Box یک فیلد پورت نشان داده میشود که میتوانید آن را تغییر دهید و بر روی پورت مورد نظر فیکس کنید. لازم به ذکر است که در صورت تغییر پورت، باید شماره آن را در کنار نام دامنه وارد کنید تا با پورت قبلی جایگزین شود.
دسترسی به فایلهای Log
در وب سرور IIS درک نحوه دسترسی و بهره مندی از فایلهای گزارش از اهمیت زیادی برخوردار است. فایلهای log تمام فعالیتهای سرور را پیگیری میکنند به همین دلیل بسیار مهم هستند. با لود کردن این فایل میتوانید اقدامات مورد نظر خود را قابل مشاهده کنید. همچنین قادر به فیلتر کردن فایل log بر اساس میزان داده ها، زمان، تاریخ و IP نیز خواهید بود.
ایجاد دایرکتوریهای مجازی
یکی از مهمترین کاربردهای وب سرور IIS ایجاد دایرکتورهای مجازی است. در این وب سرور یک نام خاص توسط شما انتخاب میشود و در دایرکتورها نشان داده میشود. این نام میتواند یک راه سریع برای دسترسی کاربران به محتوای میزبان سرور در قالب وب سایت و… باشد.
بررسی نسخههای IIS
نسخههای IIS چیست و هر کدام از آنها دارای چه ویژگیهایی است؟ در حال حاضر چندین نسخه از این وب سرور موجود است که در این بخش به نسخه ۶ به بعد میپردازیم. زیرا نسخههایی که قبل از IIS ۶ عرضه شده بودند گزینه مناسبی برای استفادههای تجاری نبودند.
IIS 6: قدیمیترین نسخه کاربردی IIS ۶ میباشد. این نسخه توانست پشتیبانی برای IPV 6 را اضافه کند. به جز این مورد، هیچ آپدیتی برای نسخههای قبلی از این وب سرور وجود نداشت. پشتیبانی IPV6 به عنوان کمترین قابلیت برای عملکرد سریع در یک محیط سازمانی محسوب میشود.
IIS 7: نسخه IIS ۷ به عنوان نسخه بعدی معرفی شد که با ویندوز سرور 2008 سازگاری زیادی داشت. در این ورژن شاهد انجام اقدامات امنیتی و پشتیبانی برای فریم ورک دانت هستیم.
IIS 7.5: در حال حاضر وب سرور IIS ۷.۵ در ویندوز ۷ قابل دسترس میباشد. این ورژن از ۱.۱ و ۱.۲ پشتیبانی میکند.
IIS 8: این نسخه از ورژن IIS از SNI پشتیبانی میکند که آن را به عنوان Windows Web Server ۲۰۱۲ نیز میشناسیم. علاوه بر آن حاوی یک پیشنهاد پشتیبانی جنرال است که تا سال ۲۰۲۳ میلادی در دسترس کاربران قرار دارد.
IIS 8.5: ویندوزی که از وب سرور IIS ۸.۵ پشتیبانی میکند ویندوز ۸.۱ میباشد. در این ورژن امکاناتی از جمله قابلیت لاگین اضافه و ابزارهای فعالسازی سایت داینامیک وجود دارد. همان طور که میدانید سایتها در نوع استاتیک و داینامیک طراحی میشوند که در حال حاضر سایتهای داینامیک از کاربرد بیشتری برخوردار هستند.
IIS 10: هم اکنون آخرین نسخهای که از این وب سرور در دسترس میباشد IIS ۱۰ است. این ورژن از HTTP/2 و Windows PowerShell ۵.۰ پشتیبانی میکند.
مهمترین ویژگیهای Internet Information Services
Application Pools
منظور از Application Pools به عنوان یکی از مهمترین ویژگیهای IIS چیست؟ این ویژگی بخش حیاتی از وب سرور را تشکیل میدهد. در یک مجموعه از برنامههای کاربردی، امکان اجرا شدن تعداد زیادی فرآیند یا هیچ فرآیند، وجود دارد. هر کدام از این فرآیندها مسئول اجرای نمونههای برنامه شناخته میشوند. در این وب سرور برخی از برنامههای کاربرد به صورت پیش فرض ایجاد میشوند و کاربر هیچ دخالتی در آن ندارد. از هنگامی که IIS ۸ عرضه شد حالت یکپارچه در برنامههای وب سرور به وجود آمد.
احراز هویت
یکی دیگر از ویژگیهای IIS احراز هویت است. گزینههای احراز هویت شامل Windows auth، Basic و ASP. NET میباشد. قطعا اگر از WAD یا Windows Active Directory استفاده میکنید گزینه Windows auth برای شما مفیدتر خواهد بود. زیرا از این طریق میتوانید به طور خودکار و از طریق حساب دامنه، به برنامه وب ورود کنید.
امنیت IIS
شما با استفاده از وب سرور IIS میتوانید دسترسیها و درخواست فایلهای log را پیادهسازی کنید و به مجموعه از کارهای امنیتی FTP نیز دسترسی پیدا کنید. همچنین قادر به فیلتر کردن درخواستها نیز میباشید و از این طریق میتوان ترافیک را در لیست سفید یا سیاه قرار داد. امکان محدود کردن سرعت دانلود و تعداد کانکشن در IIS نیز وجود خواهد داشت. یکی از گواهینامههای امنیتی به نام SSL میتواند در افزایش میزان امنیت سایت شما تاثیر زیادی داشته باشد. نصب SSL در IIS امکانپذیر است.
مدیریت از راه دور
هنگامی که اقدام به نصب IIS کردید امکان مدیریت از راه دور برای شما فراهم خواهد شد. زیرا ابزارهای ریموت در اختیار شما قرار میگیرند. شما میتوانید به راحتی اسکریپت خود را ایجاد کنید. بسیاری از مدیران فناوری اطلاعات ارزش خاصی برای اسکریپتهای اختصاصی قائل هستند.
مزایای وب سرور IIS
از مهمترین مواردی که میتوان در خصوص مزایای وب سرور IIS مطرح کرد بروزرسانیهای مداوم توسط کمپانی مایکروسافت میباشد. علاوه بر آن شاهد امنیت و پایداری بیشتر نسبت به سایر وب سرورها هستیم. خوشبختانه کمپانی مایکروسافت تمام تلاش خود را میکند تا یک سرور بینقص ایجاد کند و در اختیار کاربران قرار دهد. به همین دلیل جمعی از متخصصین را بکار گرفته تا به طور مداوم اقدام به رفع مشکلات این سیستم کنند. روز به روز میزان پایداری سرور IIS بیشتر میشود. نصب آن بسیار آسان است و به صورت ماژولار میباشد. پشتیبانی از زبانهای برنامهنویسی ASP و NET. از دیگر مزایای قابل توجه آن است. این سرور از نظر انعطافپذیری نسبت به لایت اسپید در جایگاه بهتری قرار دارد.
معایب وب سرور IIS
معایب سرور IIS چیست؟ واقعیت این است که این وب سرور از محبوب ترینها به شمار میرود. همان طور که اشاره شد به طور پیش فرض از زبانهای ASP و NET. پشتیبانی میکند.
سرعت و مصرف بهینه سرور IIS نسبت به سرورهایی نظیر لایت اسپید کمتر است اما برای سایتهایی که با زبان ASP و NET. نوشته شدهاند یک گزینه ایده آل محسوب میشود. یکی دیگر از معایبی که راجع به این وب سرور مطرح است هزینه راه اندازی و استفاده است. اگر تا به حال از وب سرور آپاچی استفاده کرده باشید به خوبی میدانید که رایگان و متن باز است. اما این ویژگیها در IIS وجود ندارد و باید برای بهره مندی از آن هزینه قابل توجهی پرداخت کنید.
نحوه راه اندازی وب ویندوز سرور IIS به چه شکلی است؟
یکی از پرسشهای متداولی که اغلب کاربران از ما میپرسند این است که نحوه اندازی وب ویندوز سرور IIS چیست؟ برای پاسخ به این پرسش مراحل زیر را دنبال کنید.
- از طریق منوی استارت که ویندوز وجود دارد گزینه Server Manager را باز کنید.
- با گزینهای به نام Add roles and features مواجه خواهید شد. Next را انتخاب کنید.
- در پنجرهای که برای شما باز شده گزینه Role-based or feature-based installation را کلیک و سپس next را بزنید. بعد از آن Select a server from the server pool را انتخاب و next را کلیک کنید.
- از پنجرهای به نام Select server roles گزینه Web Server را انتخاب کنید. با انجام این کار، شاهد باز شدن پنجره جدید خواهید بود. در این پنجره یک سری ویژگیهای اضافه را بیان میکند که اگر قصد نصب آنها را دارید گزینه Add Features را کلیک کنید. و سپس next را بزنید.
- با باز شدن پنجره بعد نیز next را کلیک کنید. با باز شدن پنجره بعدی میتوانید ویژگیهای اضافه را نصب کنید. اما اگر فعلا قصد انجام آن را ندارید مجددا گزینه next را بزنید.
- پنجرهای به نام Confirm installation selections برای شما باز میشود تا مواردی که قصد نصب آنها را دارید مرور کنید. اگر آماده نصب هستید بر روی دکمه نصب کلیک کنید. پس از اینکه نصب با موفقیت انجام شد بر روی دکمه close کلیک کنید.
تفاوت IIS و آپاچی چه چیزهایی است؟
یکی دیگر از سوالات متداول مربوط به تفاوت وب سرور IIS و وب سرور آپاچی میباشد. وب سرور آپاچی کاملا رایگان و اپن سورس است در صورتی که باید برای بهره مندی از خدمات IIS هزینه پرداخت کنید. وب سرور آپاچی قابل نصب بر روی تمام سیستم عامل هاست. اما از IIS فقط میتوان بر روی سیستم عاملهای سری ویندوز مایکروسافت استفاده کرد.
از دیگر تفاوتهای مهمی که قابل ذکر میباشد میتوان به پشتیبانی از این دو وب سرور اشاره کرد. همان طور که تا کنون متوجه شدید فقط کمپانی مایکروسافت از وب سرور IIS پشتیبانی میکند. در صورتی که وب سرور آپاچی در تمام دنیا و توسط Communityهای اپن سورس حمایت و پشتیبانی میشود. به همین دلیل تهدیدات مخرب بیشتری برای IIS وجود دارد.