Открыть сервис

Internet Information Services

Internet Information Services (IIS, произносится «ай-ай-эс») — это проприетарный набор веб-серверов и модулей для расширения функциональности веб-сервера, разработанный корпорацией Microsoft для операционных систем семейства Windows. IIS является вторым по популярности веб-сервером в мире после Apache HTTP Server, занимая значительную долю рынка, особенно в корпоративном сегменте и средах, использующих технологии Microsoft .NET и ASP.NET.

История

Первая версия IIS была выпущена в 1996 году как часть операционной системы Windows NT 4.0. Изначально IIS представлял собой простой веб-сервер с поддержкой HTTP, FTP и Gopher. С выходом Windows NT 4.0 Option Pack в 1997 году появилась версия IIS 3.0, которая включала поддержку Active Server Pages (ASP) — технологии для создания динамических веб-страниц.

В 2000 году с выходом Windows 2000 Server была представлена версия IIS 5.0, которая стала более стабильной и безопасной. Она включала поддержку протокола WebDAV и улучшенное управление через оснастку Internet Services Manager.

Версия IIS 6.0, выпущенная в 2003 году в составе Windows Server 2003, стала значительным шагом вперёд. Она представила новую архитектуру на основе рабочих процессов (worker processes) и пулов приложений (application pools), что повысило надёжность и изоляцию приложений. IIS 6.0 также включала встроенную поддержку IPv6 и улучшенную безопасность.

Версия IIS 7.0, выпущенная в 2008 году в составе Windows Server 2008 и Windows Vista, представила модульную архитектуру. Это позволило администраторам включать только необходимые компоненты, уменьшая поверхность атаки и улучшая производительность. IIS 7.0 также включал новый интерфейс управления — IIS Manager, основанный на консоли управления (MMC).

Версия IIS 8.0, выпущенная в 2012 году в составе Windows Server 2012 и Windows 8, добавила поддержку протокола WebSocket, сжатие динамического контента и улучшенную интеграцию с ASP.NET. IIS 8.5, выпущенная в 2013 году в составе Windows Server 2012 R2, представила функцию «Idle Worker Process Page-Out» для экономии памяти.

Версия IIS 10.0, выпущенная в 2016 году в составе Windows Server 2016 и Windows 10, добавила поддержку HTTP/2, улучшенную интеграцию с PowerShell и новые возможности для управления контейнерами. Последующие обновления, входящие в состав Windows Server 2019 и Windows Server 2022, продолжали улучшать производительность и безопасность, включая поддержку HTTP/3 и QUIC.

Архитектура и компоненты

IIS построен на модульной архитектуре, где каждый компонент (модуль) отвечает за определённую функцию. Основные модули включают:

  • HTTP.sys — драйвер режима ядра, который обрабатывает HTTP-запросы и ответы. Он отвечает за приём входящих запросов, кэширование и управление очередями.
  • World Wide Web Publishing Service (W3SVC) — служба, управляющая пулами приложений и рабочими процессами.
  • Windows Process Activation Service (WAS) — служба, отвечающая за активацию и управление рабочими процессами для приложений, использующих протоколы, отличные от HTTP (например, Net.Tcp).

Пулы приложений

Пулы приложений (application pools) — это ключевая концепция IIS, обеспечивающая изоляцию между веб-приложениями. Каждый пул приложений работает в отдельном рабочем процессе (w3wp.exe), что предотвращает влияние сбоев одного приложения на другие. Администраторы могут настраивать параметры пулов, такие как время ожидания, максимальное количество рабочих процессов и перезапуск по расписанию.

Модули

IIS включает множество модулей, которые можно включать или отключать по необходимости. Основные модули:

  • StaticFileModuleобслуживание статических файлов (HTML, CSS, JavaScript, изображения).
  • DefaultDocumentModule — автоматическое отображение файла по умолчанию (например, index.html или default.aspx).
  • DirectoryListingModule — отображение содержимого каталога при отсутствии файла по умолчанию.
  • Authentication — модули аутентификации: Anonymous, Basic, Digest, Windows, Forms и Client Certificate Mapping.
  • URL Rewrite Module — переписывание URL-адресов для создания дружественных ссылок и редиректов.
  • Dynamic Compression Module — сжатие динамического контента (например, ASP.NET-страниц) перед отправкой клиенту.
  • WebSocket Module — поддержка протокола WebSocket для двусторонней связи в реальном времени.

Версии и совместимость

IIS поставляется в составе операционных систем Windows. Основные версии и их совместимость:

Версия IISОперационная системаКлючевые особенности
1.0–3.0Windows NT 4.0ASP, FTP, Gopher
4.0Windows NT 4.0 Option PackУлучшенная безопасность, поддержка SSL
5.0Windows 2000WebDAV, улучшенное управление
5.1Windows XP ProfessionalПоддержка до 10 одновременных подключений
6.0Windows Server 2003, Windows XP Professional x64Пулы приложений, IPv6, улучшенная безопасность
7.0Windows Server 2008, Windows VistaМодульная архитектура, IIS Manager
7.5Windows Server 2008 R2, Windows 7Поддержка ASP.NET 4.0, улучшенная производительность
8.0Windows Server 2012, Windows 8WebSocket, сжатие динамического контента
8.5Windows Server 2012 R2, Windows 8.1Idle Worker Process Page-Out
10.0Windows Server 2016, Windows 10HTTP/2, улучшенная интеграция с PowerShell
10.0 v1809+Windows Server 2019, Windows 10 1809HTTP/3, поддержка контейнеров
10.0 v2004+Windows Server 2022, Windows 11QUIC, улучшенная безопасность

Применение

IIS широко используется в корпоративной среде для хостинга веб-приложений, написанных на ASP.NET, ASP.NET Core, PHP и других языках. Он также используется для хостинга веб-сервисов, FTP-серверов и приложений, требующих интеграции с Active Directory.

Веб-приложения

IIS является основным веб-сервером для приложений, использующих технологии Microsoft .NET. Он обеспечивает полную интеграцию с ASP.NET, включая управление сессиями, аутентификацию через Windows Authentication и Forms Authentication, а также поддержку Web Forms, MVC и Web API.

FTP-сервер

IIS включает встроенный FTP-сервер, который поддерживает как обычный FTP, так и FTP over SSL (FTPS). Это позволяет безопасно передавать файлы между клиентами и сервером.

Почтовые серверы

IIS может использоваться в сочетании с SMTP-сервером для отправки электронной почты из веб-приложений, хотя для полноценного почтового сервера обычно используется Microsoft Exchange Server.

Безопасность

IIS включает множество механизмов безопасности:

  • Аутентификация — поддержка различных методов аутентификации, включая Windows Authentication, Basic Authentication и Client Certificate Mapping.
  • Авторизация — управление доступом к ресурсам на основе URL-адресов, IP-адресов и ролей.
  • SSL/TLS — поддержка HTTPS с использованием сертификатов.
  • Request Filtering — фильтрация входящих запросов для предотвращения атак (например, SQL-инъекций и межсайтового скриптинга).
  • IP and Domain Restrictions — ограничение доступа по IP-адресам и доменным именам.

Инструменты управления

Для управления IIS используются несколько инструментов:

  • IIS Manager — графическая консоль управления, доступная через оснастку MMC.
  • PowerShell — модуль WebAdministration для автоматизации задач управления через командную строку.
  • AppCmd.exe — утилита командной строки для управления IIS.
  • Configuration Editor — инструмент для редактирования конфигурационных файлов XML.

Критика

IIS подвергается критике за несколько аспектов:

  • Закрытость — IIS является проприетарным продуктом, что ограничивает его использование в средах с открытым исходным кодом.
  • Зависимость от Windows — IIS работает только на операционных системах Windows, что ограничивает его применение в кросс-платформенных средах.
  • Сложность конфигурации — настройка IIS может быть сложной для новичков, особенно при работе с модулями и пулами приложений.
  • Производительность — в некоторых сценариях IIS уступает по производительности Apache или Nginx, особенно при обработке статического контента.

Интересные факты

  • IIS является одним из старейших веб-серверов, непрерывно развивающихся с 1996 года.
  • IIS 6.0 был первым веб-сервером, получившим сертификацию Common Criteria EAL4+.
  • В IIS 10.0 была добавлена поддержка HTTP/2, а в последующих версиях — HTTP/3 и QUIC.
  • IIS используется для хостинга многих крупных корпоративных веб-сайтов и приложений, включая Microsoft.com и Bing.

Источники

  • Microsoft Docs: Internet Information Services (IIS)
  • Wikipedia: Internet Information Services
  • IIS.NET: The Official Microsoft IIS Site
  • TechNet: IIS 10.0 Overview
  • «IIS 7.0: The Complete Reference» by William R. Stanek

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →