وب سرور IIS چیست و چگونه کار می کند؟ (راهنمای کامل)
۱ فروردین ۱۴۰۴
اگر به دنبال راهی مطمئن برای میزبانی وبسایتتان بر روی سرویسهای ویندوزی هستید، پس باید با وب سرور IIS آشنا شوید. وب سرور IIS سالها است که به عنوان یکی از ستونهای فنی در دنیای سرورها شناخته میشود، و این وب سرور توانسته است با سرعت و کارایی بالا درخواستهای کاربران را پردازش کرده و پاسخهایی سریع و دقیقی را به آنها ارائه دهد. از زمان اولین نسخه IIS در سال ۱۹۹۵ تا به امروز، مایکروسافت همواره در تلاش بوده تا این ابزار را به یک همیار بیعیب و نقص برای کسبوکارها و وبسایتها تبدیل کند. در این مقاله از لیارا، قصد داریم به مزایا و معایب این وب سرور قدرتمند بپردازیم و نگاهی دقیقتر به ویژگیها و کاربردهای آن داشته باشیم.
همین الان، بدون کمترین پیچیدگی، سرور مجازی خودتون رو در کمتر از ۳۰ ثانیه، راهاندازی کنید.
✅ عملکرد پایدار ✅ ترافیک نامحدود ✅ هزینه بهصرفه
خرید سرور مجازی ابری
آنچه در ادامه خواهید خواند:
- IIS چیست؟ معرفی وب سرور
- IIS از چه زبان های برنامه نویسی و فریم ورک ها استفاده میکند؟
- وظیفه IIS چیست؟
- IIS چطور درخواستهای کاربران را پردازش میکند؟
- Kernel Mode چیست و چه کاربردی دارد؟
- User Mode چیست و چه کاربردی دارد؟
- در IIS درخواستها چگونه پردازش میشوند؟
- انواع مدل های IIS
- مهمترین ویژگیهای وب سرور IIS چیست؟
- مزایا و معایب وب سرور IIS چیست؟
- سوالات متداول
- جمع بندی
IIS چیست؟ معرفی وب سرور
اگر به دنبال یک وب سرور قدرتمند و پایدار برای میزبانی وبسایت یا اپلیکیشن خود روی ویندوز هستید.
IIS (Internet Information Services) همان چیزی است که به آن نیاز دارید! این وب سرور محبوب که توسط مایکروسافت توسعه داده شده، به صورت کامل با پلتفرم .NET
سازگار است و بهترین گزینه برای اجرای سایتهای ASP.NET محسوب میشود.
هاست ابری ASP.NET با قدرت بینظیر!
✅ راهاندازی فوری✅ بهینهشده برای داتنت✅ مقیاسپذیری خودکار
IIS چگونه کار میکند؟
کاربر از طریق مرورگر به سایت شما وارد میشود. درخواست او به IIS ارسال شده و این وب سرور محتوای موردنظر را پردازش کرده و نمایش میدهد. این محتوا میتواند شامل صفحات وب، فایلهای متنی، تصاویر، ویدئوها باشد.
چرا باید از IIS استفاده کنیم؟
- سازگاری کامل با ویندوز: مخصوص سرورهای ویندوزی طراحی شده است.
- پشتیبانی از ASP.NET و PHP: امکان اجرای اپلیکیشنهای تحت وب با فریمورکهای محبوب را دارد.
- امنیت و پایداری بالا: مخصوصاً برای پروژههایی که با داتنت توسعه داده شدهاند استفاده میشود.
- مدیریت ساده و قدرتمند: از طریق کنسول مدیریتی IIS به راحتی میتوان وبسایتها را کنترل کرد.
مقایسه IIS با سایر وب سرورها
اگر سایت شما با ASP.NET ساخته شده، IIS بهترین انتخاب برای میزبانی آن خواهد بود. اما اگر پروژه شما بر پایه PHP باشد، Apache یا Nginx که روی لینوکس اجرا میشوند، انتخاب بهتری هستند.
IIS از چه زبان های برنامه نویسی و فریم ورک ها استفاده میکند؟
اگر به دنبال یک وب سرور امن و مطمئن برای میزبانی وبسایتها و اپلیکیشنهای خود بر روی ویندوز سرور هستید، IIS (Internet Information Services) بهترین گزینه برای شما است! این وب سرور قدرتمند که توسط مایکروسافت توسعه داده شده، علاوه بر سازگاری با فریمورک .NET
، از زبانها و فناوریهای مختلف دیگری نیز پشتیبانی میکند.
IIS به شما این امکان را میدهد که با استفاده از زبانها و فریمورکهای مختلف، از قابلیتهای آن بهرهبرداری کنید. در ادامه، برخی از زبانها و فناوریهای محبوبی که میتوان با IIS استفاده کرد شرح خواهیم داد.
زبانهای برنامهنویسی | فناوریها |
---|---|
JScript , PerlScript , VBScript | ASP |
C# , Visual Basic .NET (سازگار با .NET) | ASP.NET |
COM (C , Visual C++ , Visual Basic , Java) | کامپوننتهای ASP |
++C یا Visual C | ISAPI |
Perl , C, Visual C++ , Visual Basic | CGI |
🔶برای ادامه مطالعه و یادگیری: موارد امنیتی بسیار مهم برای حفاظت از سرور مجازی

وظیفه IIS چیست؟
وب سرور در حقیقت مغز متفکر پشت هر سایت است که درخواستها را دریافت کرده و پاسخ مناسب را به کاربران ارسال میکند. برای تجربه بهتر و سریعتر این فرآیند، وب سرور IIS میتواند گزینهای قدرتمند برای میزبانی وبسایتهای شما باشد.
وب سرور در واقع نرمافزاری است که وظیفه دارد دسترسی کاربران به محتوای وبسایتها را مدیریت کند. وقتی شما در مرورگر خود وارد آدرسی میشوید، در واقع درخواستی به وب سرور ارسال میکنید و این وب سرور است که درخواست شما را پردازش کرده و صفحههای وب را به شما نمایش میدهد.
وب سرور با استفاده از پروتکلهای HTTP یا HTTPS درخواستهای کاربران را از مرورگر دریافت کرده و پاسخ مناسب را ارسال میکند. این پاسخها میتواند شامل صفحات وب HTML، فایلهای CSS، جاوا اسکریپت، تصاویر، ویدئوها و دادههای مختلف باشد. در صورت بروز خطا، وب سرور پیغامهایی مانند خطای ۴۰۴ را به کاربر نشان میدهد.
وب سرورها، به زبان ساده، کار نمایش وبسایتها را انجام میدهند. اما وظایف آنها محدود به این نیست. وب سرور علاوهبر پروتکلهای HTTP و HTTPS، از پروتکلهای دیگری مثل SMTP برای ارسال ایمیل و FTP برای انتقال و ذخیرهسازی فایلها نیز پشتیبانی میکند.
IIS چطور درخواستهای کاربران را پردازش میکند؟
وب سرورهای معمولی معمولا از دو مدل پردازش درخواست استفاده میکنند:
- مدل تک رشتهای (Single-Thread)
- ایجاد یک رشته جدید برای هر درخواست (Thread-Per-Request)
وب سرور IIS از مدل Thread-Per-Request استفاده میکند، به این معنی که برای هر درخواست جدید، یک رشته جدید ایجاد میشود. این فرآیند معمولاً از یک Thread Pool استفاده میکند که برای هر درخواست یک رشته مستقل اختصاص داده میشود.
در این مدل، ارتباط درخواست و پاسخ بین کاربر و وب سرور بهصورت ساده و سریع انجام میشود. به عبارت دیگر، زمانی که کاربر یک درخواست از طریق مرورگر ارسال میکند، وب سرور بهسرعت پاسخ مربوطه را ارسال میکند. این فرآیند از طریق پروتکلهای HTTP یا HTTPS انجام میشود که به ترتیب معمولی و امنترین راههای انتقال دادهها بین سرویسدهنده و سرویسگیرنده هستند.
یکی از ویژگیهای برجسته IIS این است که برای پردازش درخواستها از یک معماری دو لایه بهره میبرد که شامل دو بخش اصلی به نامهای Kernel Mode و User Mode است. این معماری به IIS اجازه میدهد تا پردازش درخواستها را بهصورت بهینه و با عملکرد بالا انجام دهد.
Kernel Mode چیست و چه کاربردی دارد؟
زمانی که اجزای سیستمعامل در حالت کرنل (Kernel Mode) اجرا میشوند، تمام کدها در یک فضای آدرس مجازی مشترک قرار میگیرند. این به این معنی است که اگر یکی از درایوها در حالت کرنل به اشتباه دادهای را در آدرس نادرستی بنویسد، ممکن است دادههای سایر درایوها را تحت تأثیر قرار دهد و به خطر بیفتد. این مسأله میتواند منجر به مشکلات جدی مانند خرابی کامل سیستمعامل شود. به همین دلیل، اجرای درایوها در حالت کرنل باید با دقت و مراقبت فراوان انجام شود.
Kernel Mode معمولاً برای فرایندهایی استفاده میشود که نیاز به دسترسی سطح پایین و بسیار قابل اعتماد دارند. از آنجایی که خرابی در این حالت میتواند به سیستم آسیبهای جدی وارد کند، این حالت عمدتاً برای فرایندهایی که توانایی تحمل خرابی ندارند، مورد استفاده قرار میگیرد. برای مثال، در IIS، فایلهای مهم مانند HTTP.SYS در این حالت اجرا میشوند که به عنوان بخش اصلی در پردازش درخواستهای HTTP عمل میکنند.
این ویژگی به IIS اجازه میدهد تا با سرعت و دقت بالا درخواستها را پردازش کند، اما خطرات موجود در آن نیز باید مدنظر قرار گیرد. بهطور کلی، Kernel Mode فضایی است که به اجزای حیاتی سیستمعامل دسترسی مستقیم به منابع سختافزاری میدهد و این دسترسی میتواند در صورت بروز خطا به مشکلات جدی منجر شود.
📍مطالعه بیشتر: نحوه نصب وردپرس با LEMP روی سرور مجازی اوبونتو Ubuntu
User Mode چیست و چه کاربردی دارد؟
حالت User Mode در مقایسه با Kernel Mode محدودتر است و امنیت بالاتری را برای برنامهها فراهم میآورد. در این حالت، کدهای اجرایی نمیتوانند به صورت مستقیم به سختافزار یا حافظههای مرجع سیستم دسترسی پیدا کنند. این ویژگی باعث میشود که محیطی مطمئن تر برای اجرای برنامهها ایجاد شود، زیرا هر برنامه به صورت مستقل در یک فضای آدرس مجازی خصوصی اجرا میشود.
در این حالت، وقتی یک برنامه اجرا میشود، ویندوز برای آن فرایندی جداگانه ایجاد میکند که فضای آدرس مجازی اختصاصی دارد و نمیتواند دادههای سایر درایوها را تغییر دهد. این به این معنا است که در صورت بروز خطا در یکی از برنامهها، دیگر برنامهها تحت تاثیر قرار نمیگیرند و آسیب نمیبینند. به عبارت دیگر، اشتباهات در User Mode به اندازه خرابیها در Kernel Mode ویرانکننده نیستند.
کدهای اجرایی در حالت User Mode به APIها دستور میدهند تا با تجهیزات سختافزاری و حافظه ارتباط برقرار کنند. این روش ارتباطی امنتر از حالت کرنل است و به سیستمعامل این امکان را میدهد که برنامهها به صورت جداگانه اجرا کند. در نتیجه، این مدل پردازش باعث میشود که برنامهها از آسیبهای ناخواسته محافظت شده و در نهایت، سیستم عملکرد بهتری داشته باشد.

در IIS درخواستها چگونه پردازش میشوند؟
پردازش درخواستها در IIS با استفاده از Kernel Mode و User Mode بهصورت هماهنگ انجام میشود. زمانی که یک کاربر URL یک وبسایت را در مرورگر وارد میکند، در واقع درخواستی به HTTP.SYS ارسال میشود. HTTP.SYS مسئول دریافت این درخواستها است و آنها را به سمت مرحله بعدی هدایت میکند. درخواستها از این مرحله به User Mode و به Web Admin Services (WAS) ارسال میشوند.
User Mode , WAS این درخواستها را از HTTP.SYS دریافت کرده و آنها را به Application Pool مربوطه ارسال میکند. در این مرحله پردازشهای داخلی آغاز میشود. وقتی Application Pool درخواست را دریافت میکند، یک فیلتر ISAPI از طریق فرایند IIS Worker یا همان w3wp.exe بارگذاری میشود. اگر درخواست مربوط به صفحهای از نوع ASPX باشد، فرایند HttpRuntime.ProcessRequest
شروع به کار میکند و گاهی اوقات aspnet_isapi.dll
نیز برای پردازش درخواست بارگذاری میشود.
در این مرحله، HttpRuntime
مجموعهای از اشیاء HttpApplication
را ایجاد میکند که از طریق HTTP به درخواستهای کاربر پاسخ میدهند. این اشیاء مدام با ماژولهای HTTP در تعامل هستند تا زمانیکه صفحه ASP.NET درخواست خود را از HTTP Handler دریافت کند. در نهایت، هنگامیکه درخواست مسیر خود را تکمیل کرد، بارگذاری صفحه آغاز میشود و محتویات آن به کاربر ارسال میگردد.
انواع مدل های IIS
- IIS 1.0 تا IIS 4.0: این نسخهها در ابتدا برای ویندوز NT و ویندوز NT سرور ساخته شدند و با وجود محدودیتهای مختلف، پایهگذار شروع وب سرورهای مایکروسافت بودند.
- IIS 5.0: در ویندوز ۲۰۰۰ معرفی شد و به عنوان اولین نسخه که از قابلیتهای داتنت پشتیبانی میکرد، تحول بزرگی در ارائه خدمات وب ایجاد کرد.
- IIS 6.0: با ویندوز سرور ۲۰۰۳ عرضه شد و پشتیبانی از IPv6 را اضافه کرد، به علاوه بهبودهایی در امنیت و عملکرد آن ایجاد کرد.
- IIS 7.0: همراه با ویندوز ویستا، این نسخه امنیت و پشتیبانی از فریمورک داتنت را افزایش داد.
- IIS 7.5: برای ویندوز ۷ عرضه شد و از TLS 1.1 و TLS 1.2 پشتیبانی میکند.
- IIS 8.0: نسخهای بود که با ویندوز ۸ و ویندوز سرور ۲۰۱۲ معرفی شد. این نسخه پشتیبانی از SNI را به همراه داشت که امکان میزبانی چندین وبسایت روی یک سرور با استفاده از یک آدرس IP را فراهم میکرد.
- IIS 8.5: برای ویندوز ۸.۱ و ویندوز سرور ۲۰۱۲ آر۲ ارائه شد و ویژگیهای جدیدی مانند ابزار فعالسازی وبسایت داینامیک و قابلیتهای لاگین اضافی را به همراه داشت.
- IIS 10.0: در ویندوز ۱۰ و ویندوز سرور ۲۰۱۶ معرفی شد و از ویژگیهای پیشرفتهتری مانند HTTP/2 و Windows PowerShell 5.0 پشتیبانی میکرد.
🔷بیشتر بخوانید: چگونه یک سرور ماینکرفت (Minecraft) را بسازیم؟
مهم ترین ویژگی های وب سرور IIS چیست؟
وب سرور IIS به دلیل ویژگیهای متنوع و توانمندیهای که دارد، یکی از محبوبترین و کاربردیترین انتخابها برای میزبانی وبسایتها و برنامههای کاربردی است. این وب سرور نه تنها برای میزبانی ASP.NET، بلکه برای مدیریت برنامههای پیچیدهتری مانند WCF و PHP نیز بهکار میرود. در ادامه، به برخی از ویژگیهای برجسته آن اشاره خواهیم کرد.
Application Pools
در IIS , Application Pools نقش بسیار مهمی ایفا میکنند. این مجموعهها به وب سرور این امکان را میدهند که برای هر برنامه، فرایندهای کارگر جداگانهای را راهاندازی کند. این طراحی باعث میشود که عملکرد و امنیت برنامهها مستقل از یکدیگر مدیریت شوند. از آنجایی که در نسخههای جدیدتر از حالت یکپارچه استفاده میشود، ASP.NET مستقیم بخشی از خط لوله درخواست IIS خواهد بود.
احراز هویت پیشرفته
IIS انواع مختلفی از گزینههای احراز هویت را ارائه میدهد، از جمله Windows Authentication , Basic Authentication و ASP.NET Authentication. این ویژگی در محیطهایی که از Windows Active Directory استفاده میکنند، بسیار مفید است، زیرا میتوان خودکار از حسابهای کاربری دامنه برای ورود به برنامههای وب استفاده کرد.
امنیت قوی IIS
با داشتن ابزارهای امنیتی متنوع، امکان مدیریت و محافظت از سرور را فراهم میآورد. این ویژگیها شامل مدیریت گواهیهای TLS، پشتیبانی از HTTPS و SFTP، و فیلتر کردن درخواستها برای مسدودسازی ترافیک ناخواسته میشود. علاوه بر این، میتوان قوانین دسترسی را برای درخواستهای مختلف تنظیم کرده و همچنین گزارشهای امنیتی دقیق از درخواستها و عملیات FTP دریافت کرد.
مدیریت به صورت ریموت
IIS این امکان را برای مدیران فراهم میکند که از راه دور و از طریق ابزارهایی مانند PowerShell یا CLI، سرور را بهصورت اثر گذار مدیریت کنند. این قابلیت، که انعطافپذیری و کنترل بیشتری بر فرآیندهای مدیریتی میدهد، برای بسیاری از مدیران فناوری اطلاعات بسیار ارزشمند میباشد.
🔶مطالعه بیشتر: نحوه نصب و ایمن سازی phpMyAdmin در سرور مجازی اوبونتو Ubuntu
مزایا و معایب وب سرور IIS چیست؟
در ادامه با مزایا و معایب وب سرور IIS آشنا خواهید شد.
مزایا وب سرور IIS
وب سرور IIS با وجود قدمت و محبوبیت بالای خود، همچنان یکی از گزینههای اصلی برای میزبانی وبسایتها و اپلیکیشنها است. این وب سرور به دلیل ویژگیهایی مانند امنیت بالا، مدیریت آسان از طریق CLI یا PowerShell، و قابلیتهای احراز هویت پیشرفته (مانند Windows Auth و Basic Auth) بسیار محبوب است.
یکی از ویژگیهای کلیدی IIS , Application Pools است که امکان جداسازی و مدیریت برنامههای وب را با امنیت بالا فراهم میکند. همچنین، مقیاسپذیری و قابلیت اطمینان بالا به IIS این امکان را میدهد که برای وبسایتهای پربازدید استفاده شود. IIS همچنین با تعادل بار و مسیریابی درخواستها (ARR)، ترافیک ورودی را بهطور هوشمند بین چندین سرور IIS توزیع میکند تا عملکرد بهینهای فراهم کند.
معایب وب سرور IIS
با وجود مزایای بسیاری که IIS دارد، نقاط ضعفی نیز وجود دارد که باید به آنها توجه کرد. یکی از بزرگترین چالشها، سرعت پایین و مصرف بیشتر منابع سرور است. در مقایسه با وب سرورهای سریع و سبک مانند apache یا Nginx ممکن است کندتر باشد. همچنین، نقاط ضعف امنیتی در IIS وجود دارد که ممکن است آن را در معرض تهدیدات قرار دهد، هرچند مایکروسافت راهکارهایی برای رفع آنها ارائه داده است. به علاوه، برخلاف وب سرورهای رایگان و متنباز برای استفاده از قابلیتهای پیشرفته نیاز به پرداخت هزینه دارد.

سوالات متداول:
در ادامه به سوالاتی که امکان دارد در این زمینه برای شما بدون پاسخ بماند، جوابهای کوتاه اما مفیدی دادهایم که با استفاده از آن میتوانید به سوال خود پاسخ صحیحی را بدهید.
IIS چیست و چگونه کار میکند؟
IIS (Internet Information Services) یک وب سرور مایکروسافت است که برای میزبانی وبسایتها و برنامههای وب طراحی شده و از فناوریهای مختلف مانند ASP.NET , PHP و غیره پشتیبانی میکند.
چه نسخههایی از IIS برای سیستمعاملهای مختلف مایکروسافت وجود دارد؟
IIS در نسخههای مختلفی ارائه شده است که شامل نسخههای ۶.۰ تا ۱۰.۰ میشود. این نسخهها با سیستمعاملهای مختلف مانند ویندوز سرور ۲۰۰۳ تا ۲۰۱۹ سازگاری دارند.
چگونه IIS میتواند امنیت وبسایت را تامین کند؟
IIS ویژگیهای امنیتی مانند احراز هویت Windows Auth، پشتیبانی از پروتکل HTTPS، ابزارهای فیلتر درخواست و مدیریت گواهیهای TLS را برای افزایش امنیت ارائه میدهد.
آیا IIS از سیستمعاملهای غیر ویندوزی پشتیبانی میکند؟
IIS برای سیستمعاملهای ویندوز طراحی شده است و بهترین عملکرد را در این سیستمها دارد. استفاده از IIS در سیستمهای غیر ویندوزی ممکن است ماندگار و مطمئن نباشد.
مزایای استفاده از IIS در مقایسه با وب سرورهای دیگر چیست؟
IIS ویژگیهای زیادی مانند مقیاسپذیری بالا، قابلیت مدیریت از راه دور، و امنیت قوی دارد. همچنین برای وبسایتهای مبتنی بر ASP.NET گزینه بسیار مناسبی است.
📌برای ادامه مطالعه و یادگیری: رک سرور چیست؟ (راهنمای جامع + نکات مهم)
جمع بندی
وب سرور IIS یکی از قدرتمند و امن ترین ابزارهای ماکروسافت است که برای میزبانی وبسایتها و برنامهها کاربرد دارد. با پشتیبانی از ASP.NET , PHP امکانات زیادی را برای مدیریت و بهینه سازی عملکرد وبسایت ها ارائه میدهد. از ویژگیهای برجسته IIS میتوان به امنیت بالا، مدیریت آسان و ریموت، پشتیبانی از مقیاس پذیری و قابلیت تنظیم Application Pool برای تفکیک برنامههای کاربردی اشاره کرد. با این حال، همانطور که هر سیستمی مزایا و معایب خاص خود را دارد، IIS هم برخی محدودیتهایی را مانند سرعت نسبتا پایین در مقایسه با وب سرورهای دیگر را دارد. اما همچنان برای بسیاری از سایتهایی که مبتنی بر ASP.NET هستند گزینه مناسبی میباشد.