لایه های اصلی معماری وب سرور IIS کدامند؟
IIS با کدام زبان های برنامه نویسی و فریم ورک ها کار می کند؟
” بهتر است قبل از اینکه به پاسخی دقیق راجع به این سوال که وب سرور IIS چیست و لایه های آن کدامند بپردازیم، شما را با مفهوم وب سرور آشنا کنیم تا شما همراهان تلاش نت درک بیشتری از مطلب پیش رو داشته باشید. در حال حاضر تمام افراد جهان با اینترنت و مزایای آن آشنایی دارند. اما اغلب آنها اطلاعات زیادی درباره زوایا و پیچیدگیهای آن ندارند. اینترنت دارای پهنا و گستردگی زیادی است که بخشها و اجزای مختلفی دارد. یکی از مهمترین اجزای این اینترنت، هاستها هستند که تمام محتویات اینترنت در آنها ذخیره میشود. در واقع فرقی ندارند که هاست از نوع لینوکس است یا ویندوز، ابری و… بلکه مهم این است که برای فعال بودن آن نیاز به یک وب سرور داریم. “
|
وب سرور چیست؟
وب سرورها قادر به کنترل کردن هاست میباشند و میتوانند به کلاینتهایی پاسخ دهند که کاربران درخواستهای خود را به آنها ارسال میکنند. به عنوان مثال مطلبی که در حال مطالعه آن هستید و بر روی مرورگر شما باز شده توسط یک وب سرور برای شما بارگذاری شده است. زمانی که شما بر روی لینک مورد نظر خود کلیک میکنید و یک صفحه جدید باز میکنید از کامپیوتر شما یک درخواست به سایت ما ارسال میشود. این درخواست به واسطه وب سرور مورد بررسی قرار میگیرد و پاسخ آن به مرورگر شما ارسال میشود. مرورگر با دریافت پاسخ شروع به ترجمه اطلاعات میکند و صفحه وب برای شما به نمایش گذاشته میشود.
معرفی وب سرور IIS
وب سرور IIS که مخفف عبارت Internet Information Services به معنای سرور اطلاعات اینترنتی است، یک سرور مرکزی است که توسط شرکت مایکروسافت توسعه یافته است و بر روی سیستم عامل ویندوز اجرا میشود . این وبسرور برای تبادل محتوای استاتیک و داینامیک وب با کاربران اینترنت مورد استفاده قرار میگیرد. IIS میتواند برای میزبانی، استقرار و مدیریت برنامههای وب پیادهسازی شده با استفاده از فناوریهایی مانند ASP.NET و PHP (خرید هاست پلسک Asp.Net Core) استفاده شود.
” از جمله ویژگی های IIS شامل انعطاف پذیری، ایمن بودن و قابل مدیریت برای میزبانی هر چیزی در وب است. “
عملکرد IIS چگونه است؟
این سرور به دو روش قادر است به درخواستهای کاربران پاسخ دهد.
- اولین روش به صورت تک پردازهای است. (منظور از تک پردازهای این است که در هر لحظه، به یک درخواست پاسخ داده میشود.)
- دومین روش به عنوان چند پردازهای شناخته میشود. (که قادر است در یک لحظه به چند درخواست پاسخ دهد.)
معمولا از روش دوم در موارد مربوط به کار با پایگاههای داده استفاده میشود و توسط برنامههایی از جمله node.js پشتیبانی میشود. با استفاده از این برنامه هر کدام از پردازهها، به چند زیر پردازه تقسیمبندی میشوند و سرعت ارسال پاسخ افزایش پیدا میکند. در واقع فرقی ندارد که از کدام شیوه برای بررسی درخواستها و ارسال پاسخ استفاده میشود. بلکه مهم این است که وب سرور IIS درخواستها را مدیریت کرده و آنها را به شیوه خاص صفبندی میکند و در اختیار پردازهها قرار میگیرد.
IIS با کدام زبانهای برنامهنویسی و فریمورکها کار میکند؟
IIS با فریمورک NET. سازگار است. اما از زبانها و فریمورک های دیگری میتوان برای بهرهمندی از قابلیتهای IIS استفاده کرد. در جدول زیر میتوانید لیستی از آنها را مشاهده کنید:
زبانهای برنامهنویسی | فناوریها |
JScript ،PerlScript و VBScript | ASP |
زبانهای برنامهنویسی سازگار با NET. مانند C# و Visual Basic .NET | ASP.NET |
COM مانند C ،Visual C++ ،Visual Basic و Java | کامپوننتهای ASP |
C یا Visual C++ | ISAPI |
Perl و C ،Visual C++ ،Visual Basic | CGI |
لایه های پردازش و نحوه پردازش اطلاعات در وب سرور IIS
معمولا درخواستها بر اساس مکانیزم درخواست – پاسخ، پردازش میشوند. به این ترتیب هنگامی که کاربر یک درخواست را ارسال میکند و یک پاسخ از وب سرور دریافت میکند یک ارتباط اینترنتی میان سرویس گیرنده و وب سرور به واسطه پروتکل HTTP صورت میپذیرد.
” نکته مهم: IIS از HTTP ,HTTPS ,FTP ,FTPS ,SMTP و NNTP پشتیبانی میکند. “
IIS برای پردازش به صورت دو لایه یا چند لایه عمل میکند که شامل Kernel Mode و User Mode میباشد.
-
Kernel Mode
هنگامی که اجزای اصلی سیستم عامل در حالت Kernel Mode اجرا شوند تمام کدها دارای یک فضای آدرس مجازی مشترک خواهند بود. به این معنا که اگر درایوی در حالت Kernel Mode باشد از سایر درایوها جدا نخواهد بود و در یک فضای مشترک قرار میگیرد. اگر این درایو به شکل تصادفی، در یک آدرس مجازی و اشتباه دادهای را بنویسد احتمال به خطر افتادن دادههای آن درایو وجود دارد. به همین دلیل میتوان نتیجه گرفت که اگر درایو در حالت Kernel Mode دچار خرابی شود امکان خراب شدن کل سیستم عامل وجود خواهد داشت.
-
User mode
زمانی که اجزای سیستم عامل در حالت User mode باشند نمیتواند به آدرسهای مجازی که مختص به سیستم عامل میباشد دسترسی داشته باشد. اگر شما در این حالت، یک برنامه را اجرا کنید ویندوز برای آن برنامه یک پروسه جداگانه ایجاد میکند و این پروسه دارای یک فضای آدرس مجازی و خصوصی است و نمیتواند دادههای مربوط به درایو دیگر را تغییر دهد. به همین دلیل هر کدام از برنامهها به صورت جداگانه اجرا میشوند و اگر یکی از آنها دچار خرابی شود، محدود به همان برنامه خواهد بود. در این شرایط عملکرد سرور، مانند یک سرور اختصاصی خواهد بود.
نسخه های مختلف وب سرور IIS
- IIS 1.0: افزونه ای رایگان برای Windows NT 3.51
- IIS 2.0: برای Windows NT 4.0
- IIS 3.0: در service Pack 2 منتشر شده برای Windows NT 4.0
- IIS 4.0: در قسمتی از “Option Pack” برای Windows NT 4.0
- IIS 5.0: برای نخستین بار برای Windows 2000
- IIS 5.1: در Windows XP Professional
- IIS 6.0: در Windows Server 2003 و Windows XP Professional x64 Edition
- IIS 7.0: در Windows Vista و Windows Server 2008
- IIS 7.5: در Windows 7 و Windows Server 2008 R2
- IIS 8.0: در Windows 8 و Windows Server 2012
- IIS 8.5: در Windows 8.1 و Windows Server 2012 R2
- IIS 10.0: در Windows 8 و Windows 10 و Windows server 2016
- IIS 10.0: ویرایش بر روی نسخه اولیه
- IIS 10.0: آخرین نسخه انتشار شده قابل استفاده در Widows 10 و Windows server 2019
مزایا و معایب وب سرور IIS کدامند؟
مزایا
- قابلیت های یکپارچه وب سرور را فراهم می کند.
- قابل اطمینان، ایمن و قابل کنترل در اینترنت است.
- با بهره مندی از یک محیط میزبان برنامه یکپارچه با سازگاری کامل، برنامه ها را توسعه و پشتیبانی کنید.
- در زمان نصب، به شما این امکان را می دهد که انتخاب کنید از کدام وب سرور (IIS یا Apache) استفاده شود.
- توسعه یافته توسط مایکروسافت
معایب
- این سرور چند منظوره نیست و فقط تحت ویندوز کار می کند.
- در نسخه هایی که از خانواده “سرور” نیستند محدودیت هایی دارد.
- کمی آسیب پذیر است.
جمع بندی” همانطور که متوجه شدیم IIS وب سرور ویندوزی است که توسط مایکروسافت توسعه پیدا کرده است. از این وب سرور میتوانیم برای میزبانی وب سایت ها و وب اپلیکیشن های مبتنی بر زبان برنامه نویسی ASP.NET و فریمورک NET. استفاده کنیم. ما در این مطلب شما را با ویژگیها، عملکرد، مزایا و معایب این وب سرور پرطرفدار آشنا کردیم. اگرچه وب سرور IIS از نظر سیستمعامل انعطاف پذیری کمتری نسبت به رقبای قدرتمند خود ارائه میدهد، اما مزایای قابل توجهی از پشتیبانی و منابع مبتنی بر ویندوز گرفته تا انعطاف پذیری و امنیت بالا را داراست که خواه یا ناخواه آن را به گزینهای عالی برای میزبانی داده های وب تبدیل میکند. اگر به دنبال وب سروری قابل اعتماد و امن هستید؛ پیشنهاد میکنیم IIS را در بین گزینه های انتخابی خود قرار دهید. چراکه این وب سرور از محصولات مایکروسافت مانند فریمورک NET. و برنامهنویسی ASPX پشتیبانی میکند و برای افرادی که سایتهایشان به NET. یا ASPX وابسته است، به احتمال زیاد IIS انتخابی عالی خواهد بود. “
|