در این مقاله به شما خواهیم گفت وب سرور IIS چیست؟ در واقع Internet Information Services server (سرور خدمات اطلاعات اینترنتی) یا به طور خلاصه سرور IIS یک برنامه وب مبتنی بر ویندوز است که برای ارائه محتوای وبسایت از طریق اینترنت به کاربر نهایی استفاده میشود. در واقع برای آنکه بدانید IIS چیست میتوان گفت که IIS یک role سرور قابل نصب است و در تمام محصولات مایکروسافت ویندوز سرور موجود است. همچنین اخیراً، مایکروسافت اجزای IIS را با نسخههای حرفهای محصولات سیستم عامل دسکتاپ خود، نظیر ویندوز ۱۰ پرو نیز همراه کرده است. IIS معمولا در یک یا چند سرور ویندوزی نصب و مدیریت میشود. در این مقاله ایران هاست به شما خواهیم گفت iis چیست و با مزایای آن آشنا خواهیم شد.
وب سرور چیست؟
برای آن که بدانید وب سرور چیست، میتوان گفت اصطلاح web server (وب سرور) هم میتواند به سخت افزار و هم نرمافزار و یا هر دوی آنها در کنار هم اشاره داشته باشد.از نظر سختافزاری، وبسرور رایانهای است که نرمافزار وبسرور و فایلهای یک وبسایت را ذخیره میکند. (به عنوان مثال، اسناد HTML، تصاویر، صفحات CSS و پروندههای جاوا اسکریپت و…) یک وب سرور به اینترنت متصل میشود و از تبادل دادههای فیزیکی با سایر دستگاههای متصل به وب پشتیبانی میکند.از نظر نرمافزاری، یک وب سرور شامل چندین قسمت است که نحوه دسترسی کاربران وب را به فایلهای مربوطه مدیریت و کنترل میکند. در واقع وب سرور، یک سرور HTTP است. سرور HTTP نرم افزاری است که آدرسهای اینترنتی (آدرسهای وب) و HTTP (پروتکلی که مرورگر شما برای مشاهده صفحات وب استفاده میکند) را میفهمد.
تاریخچه IIS و ورژنهای آن
اولین وبسرور مایکروسافت یک پروژه تحقیقاتی در مرکز دانشگاهی Microsoft Windows NT Academic (EMWAC)، یعنی بخشی از دانشگاه ادینبورگ اسکاتلند بود و به صورت نرمافزار رایگان توزیع شد. اما از آنجا که سرورهای EMWAC قادر به کنترل میزان ترافیک Microsoft.com نبود، مایکروسافت مجبور شد وب سرور خود، IIS را ایجاد نموده و آن را توسعه دهد.تاکنون نسخههای گوناگونی از IIS منتشر شده است. همانطور که در جدول زیر مشاهده میکنید، به طور خلاصه نسخههای IIS و سیستم عاملهایی که در آنها گنجانده شده است، آورده شده است.لطفا توجه داشته باشید که نسخه ای IIS ۹ وجود ندارد. مایکروسافت از شماره ۹ صرف نظر کرده است مانند نسخه بعدی ویندوز ۸ که به چای نسخه ۹ آن ویندوز ۱۰ را ارائه داد.
وب سرور IIS چیست؟
وب سرور IIS چیست؟ وب سرور IIS روی پلتفرم Microsoft .NET و در سیستم عامل ویندوز اجرا میشود. اگرچه اجرای IIS در Linux و MacOS با استفاده از Mono نیز امکان پذیر است، اما این کار توصیه نمیشود و احتمالاً ناپایدار خواهد بود. IIS یک وب سرور انعطاف پذیر و عمومیبرای مایکروسافت است و صفحات یا پروندههای HTML درخواستی را به کاربر نهایی ارائه میدهد. لذا پس از ثبت دامنه ir.، در صورتی که سایت شما با زبان .net نوشته شده باشد، هنگام خرید هاست و دامین حتما هاست ویندوزی و یا سرور اختصاصی با سیستم عامل ویندوز را انتخاب نمایید.
پس از خرید دامنه و سرور اختصاصی و یا خرید vps با سیستم عامل ویندوز و راه اندازی وب سایت خود، وب سرور IIS درخواستهای ارسالی از سمت مرورگر رایانههای کاربران را میپذیرد و پاسخ مناسب را به آنها برمیگرداند. این قابلیت اساسی به سرورهای وب اجازه میدهد تا اطلاعات را در شبکههای محلی (LAN) مانند شبکههای داخلی شرکتها و شبکههای گسترده (WAN) مانند اینترنت به اشتراک بگذارند. یک وب سرور میتواند اطلاعات را به چندین شکل مانند صفحات وب استاتیک HTML، و یا از طریق تبادل فایل به عنوان دانلود و آپلود فایلها، اسناد متنی، پروندههای تصویری و موارد دیگر به کاربران ارائه دهد.
وب سرور IIS چگونه کار میکند؟ (How IIS Processes Requests)
وب سرور IIS چیست؟ به این سوال پاسخ دادیم حال باید به چگونگی کار آن بپردازیم.دو مدل اصلی فرایند وب سرورهای لینوکسی نظیر آپاچی یا Nginx و یا وب سرورهای ویندوزی نظیر IIS و… این است که یا همه درخواستها را در یک thread واحد مدیریت میکنند، یا برای هر درخواست یک thread جدید ایجاد میکنند.اگرچه مدل تک رشتهای دارای چندین worker threads است، اما معمولاً فقط از آنها برای انواع خاصی از درخواستها مانند دسترسی به سیستم فایل استفاده میکند. مدل thread به ازای هر درخواست (thread-per-request) که IIS (و ورژن سبکتر آن یعنی IIS Express) استفاده میکند، برای هر درخواست یک thread را از thread pool میگیرد.وب سرورها معمولاً درخواستها را با استفاده از الگوی request-response پاسخ میدهند. بدین معنا که مشتری درخواستی را ارسال میکند و پاسخی دریافت میکند. در این نوع درخواستها از پروتکل HTTP و یا HTTPS در هنگام برقراری ارتباط بین مشتری و وب سرور از طریق اینترنت، استفاده میشود.از طرفی دیگر، پردازنده بسته به نوع کدی که پردازش میشود، بین دو مد Kernel Mode و User Mode تغییر میکند:
Kernel mode
اجزای اصلی سیستم عامل در حالت Kernel Mode اجرا میشوند. همه کدهایی که در حالت Kernel Mode اجرا میشوند یک فضای آدرس مجازی مشترک دارند. این بدان معنی است که یک درایور در حالت Kernel Mode از سایر درایورها و سیستم عامل جدا نیست. اگر یک درایور در حالت Kernel Mode به طور تصادفی در آدرس مجازی اشتباهی داده ای بنویسد، دادههای متعلق به سیستم عامل یا درایور دیگری ممکن است به خطر بیفتند. در نتیجه اگر درایور در حالت Kernel Mode خراب شود، کل سیستم عامل خراب میشود.
User mode
برنامهها در حالت User Mode و پردازندهای که در حالت User Mode در حال اجرا است نمیتواند به آدرسهای مجازی که مخصوص سیستم عامل است دسترسی پیدا کند. هنگامیکه شما یک برنامه حالت User Mode را اجرا میکنید، ویندوز فرایندی (process) برای برنامه ایجاد میکند. این پروسس یک فضای آدرس مجازی خصوصی و یک جدول خصوصی (private handle table) برای برنامه ایجاد میکند. از آنجا که فضای آدرس مجازی یک برنامه خصوصی است، یک برنامه نمیتواند دادههای مربوط به برنامه دیگر را تغییر دهد. در نتیجه هر برنامه به صورت جداگانه اجرا میشود و اگر برنامه ای خراب شود، خرابی به همان یک برنامه محدود میشود و سایر برنامهها و سیستم عامل تحت تأثیر خرابی آن برنامه قرار نمیگیرند.
سرور IIS با چه فریمورکها و زبانهای برنامهنویسی کار میکند؟
جدول زیر زبانهای برنامهنویسی سازگار برای فناوری توسعه وب را که در IIS موجود است، نمایش میدهد.همچنین IIS میتواند خدمات انتشار وب جهانی، خدمات پروتکل انتقال فایل (FTP)، پروتکل انتقال ایمیل (SMTP) و پروتکل انتقال اخبار شبکه (NNTP) را ارائه دهد. پس از خرید سرور و دریافت آدرس IP و یا خرید هاست ویندوز و ثبت دامنه خود در DNS سرور و پیکربندی مناسب شبکه، میتوانید از IIS برای میزبانی و مدیریت وبسایتها و سایر محتوای اینترنت استفاده کنید.