hostprofi.ru
Подобрать хостинг
Термин·буква M

Microsoft IIS

краткое определение

Microsoft IIS (Internet Information Services) — веб-сервер от Microsoft, встроенный в Windows Server. Основной выбор для хостинга ASP.NET-приложений, .NET Core API и PHP/CGI на Windows-платформе. Управляется через графическую консоль IIS Manager или PowerShell.

Microsoft IIS (Internet Information Services) — веб-сервер, входящий в состав Windows Server как компонент операционной системы. Поддерживает HTTP, HTTPS, FTP, FTPS, SMTP и NNTP. Основная платформа для размещения приложений на стеке Microsoft: ASP.NET (Framework и Core), .NET, PHP через FastCGI.

Как работает

IIS использует пул приложений (Application Pool) — изолированный рабочий процесс (w3wp.exe) для обработки запросов. Каждый пул может работать под разной учётной записью, с разной версией .NET runtime и настройками переработки. Это обеспечивает изоляцию между сайтами: проблема в одном пуле не влияет на другой.

Архитектура IIS модульна: возможности добавляются через модули (Modules) — обработчики запросов (Handlers) и фильтры. Например, модуль URL Rewrite заменяет mod_rewrite из Apache, модуль Dynamic Compression сжимает ответы. Статика обслуживается через Kernel-mode cache в Windows kernel напрямую — это быстрее, чем user-mode кэш Nginx.

Конфигурация хранится в XML-файлах: глобальная — applicationHost.config в %windir%\System32\inetsrv\config, на уровне сайта — web.config в корне приложения. web.config аналогичен .htaccess Apache.

История

IIS 1.0 выпущен в 1995 году как часть Windows NT 3.51. IIS 2.0 вошёл в Windows NT 4.0 (1996). IIS 5.0 в Windows 2000 стал первым действительно распространённым на рынке. IIS 7.0 (Windows Server 2008) принёс модульную архитектуру. IIS 10.0 (Windows Server 2016/2019) добавил поддержку HTTP/2 и TLS 1.3. Актуальная версия — IIS 10.0 на Windows Server 2022.

Ключевые отличия от похожих терминов

IIS работает только на Windows и не портируется на Linux. Nginx и Apache кроссплатформенны. Для .NET Core-приложений IIS выступает как reverse proxy перед Kestrel (встроенный HTTP-сервер .NET), а не запускает код напрямую — начиная с ASP.NET Core 2.0 рекомендуется именно такая схема.

Связь с хостингом

Windows-хостинг с IIS предоставляют специализированные провайдеры. VPS на Windows Server с IIS подходит для размещения ASP.NET MVC/Web API, 1C-Битрикс на Windows, классических ASP-приложений. Стоимость Windows-лицензии включена в тариф VPS и обычно делает Windows-хостинг на 20–50% дороже аналогичного Linux.

Архитектура IIS

IIS (Internet Information Services) — веб-сервер Windows. Архитектура: http.sys (режим ядра, буферизация) → W3SVC (управление) → Application Pool (процесс worker). Каждый Application Pool — изолированный процесс w3wp.exe. Режимы .NET: Integrated (рекомендован), Classic.

Настройка для ASP.NET Core

ASP.NET Core: установить ASP.NET Core Hosting Bundle. Модуль ANCM (AspNetCoreModule) проксирует запросы к Kestrel. Application Pool: No Managed Code. Логи ANCM: %SystemDrive%\inetpub\logs\AspNetCoreModule.

IIS vs Nginx для Windows хостинга

На VPS Windows IIS — нативный выбор для .NET Framework/Core. Nginx для Windows работает, но без некоторых оптимизаций (epoll недоступен, используется select). Для PHP на Windows IIS + PHP FastCGI — альтернатива Linux+Nginx+PHP-FPM. IIS Manager — удобный GUI.

HTTP/2 и HTTP/3 в IIS

IIS 10 (Windows Server 2016+): HTTP/2 поддерживается для HTTPS по умолчанию. HTTP/3 (QUIC): Windows Server 2022 — экспериментально. Для production HTTP/3: предпочтительнее Nginx перед IIS как reverse proxy с поддержкой HTTP/3.

Другие термины