Введение в архитектуры IIS

Группа IIS, Рейган Темплин

Совместимость

Версия Примечания
IIS 7.0 и более поздних версий Функции, описанные в этой статье, были представлены в IIS 7.0.
IIS 6.0 и более ранние версии Функции, описанные в этой статье, не поддерживались до IIS 7.0.

Введение

Службы IIS 7 и более поздних версий предоставляют архитектуру обработки запросов, которая включает в себя:

  • Служба активации процессов Windows (WAS), которая позволяет сайтам использовать протоколы, отличные от HTTP и HTTPS.
  • Подсистема веб-сервера, которую можно настроить путем добавления или удаления модулей.
  • Интегрированные конвейеры обработки запросов из IIS и ASP.NET.

Компоненты в службах IIS

СЛУЖБЫ IIS содержат несколько компонентов, выполняющих важные функции для ролей приложения и веб-сервера в Windows Server® 2008 (IIS 7.0) и Windows Server 2008 R2 (IIS 7.5). Каждый компонент несет такие обязанности, как прослушивание запросов к серверу, управление процессами и чтение файлов конфигурации. К этим компонентам относятся прослушиватели протоколов, такие как HTTP.sys, и службы, такие как служба веб-публикации (служба WWW) и служба активации процессов Windows (WAS).

Прослушиватели протоколов

Прослушиватели протокола получают запросы, относящиеся к протоколу, отправляют их в IIS для обработки, а затем возвращают ответы инициаторам запроса. Например, когда клиентский браузер запрашивает веб-страницу из Интернета, прослушиватель HTTP, HTTP.sys, получает запрос и отправляет его в IIS для обработки. После обработки запроса iis HTTP.sys возвращает ответ в клиентский браузер.

По умолчанию IIS предоставляет HTTP.sys в качестве прослушивателя протокола, который прослушивает HTTP- и HTTPS-запросы. HTTP.sys появилась в IIS 6.0 в качестве прослушивателя протокола HTTP для HTTP-запросов. HTTP.sys остается прослушивателем HTTP в IIS 7 и более поздних версиях, но включает поддержку ssl.

Для поддержки служб и приложений, использующих протоколы, отличные от HTTP и HTTPS, можно использовать такие технологии, как Windows Communication Foundation (WCF). В WCF есть адаптеры прослушивателя, которые обеспечивают функциональные возможности как прослушивателя протокола, так и адаптера прослушивателя. Адаптеры прослушивателя рассматриваются далее в этом документе. Дополнительные сведения о WCF см. в статье Windows Communication Foundation на сайте MSDN.

Стек протокола передачи гипертекста (HTTP.sys)

Прослушиватель HTTP является частью сетевой подсистемы операционных систем Windows и реализуется как драйвер устройства в режиме ядра, называемый стеком HTTP (HTTP.sys). HTTP.sys прослушивает HTTP-запросы из сети, передает запросы в IIS для обработки, а затем возвращает обработанные ответы в клиентские браузеры.

В IIS 6.0 HTTP.sys заменил API сокетов Windows (Winsock), который был компонентом пользовательского режима, который использовался в предыдущих версиях IIS для получения HTTP-запросов и отправки HTTP-ответов. СЛУЖБЫ IIS 7 и более поздних версий по-прежнему используют HTTP.sys для HTTP-запросов.

HTTP.sys предоставляет следующие преимущества:

  • Кэширование в режиме ядра. Запросы кэшированных ответов обслуживаются без переключения в пользовательский режим.
  • Очередь запросов в режиме ядра. Запросы приводят к уменьшению затрат при переключении контекста, так как ядро перенаправляет запросы непосредственно в правильный рабочий процесс. Если рабочий процесс недоступен для принятия запроса, очередь запросов в режиме ядра будет хранить запрос до тех пор, пока рабочий процесс не примет его.
  • Предварительная обработка запросов и фильтрация по безопасности.

Служба публикации в Интернете (служба WWW)

В IIS 7 и более поздних версиях функции, которые ранее обрабатывались только службой веб-публикации (WWW Service), теперь разделены между двумя службами: службой WWW и новой службой активации Windows (WAS). Эти две службы выполняются как LocalSystem в одном Svchost.exe процессе и совместно используют одни и те же двоичные файлы.

Примечание

В документации также может отображаться служба WWW, называемая W3SVC.

Как работает служба WWW в IIS 6.0

В IIS 6.0 служба WWW управляет следующими основными областями в IIS:

  • Администрирование и настройка HTTP
  • Управление процессами
  • Мониторинг производительности

Администрирование и настройка HTTP

Служба WWW считывает сведения о конфигурации из метабазы IIS и использует эти сведения для настройки и обновления прослушивателя HTTP, HTTP.sys. Кроме того, служба WWW запускает, останавливает, отслеживает и управляет рабочими процессами, обрабатывающими HTTP-запросы.

Мониторинг производительности

Служба WWW отслеживает производительность и предоставляет счетчики производительности для веб-сайтов и кэша IIS.

Управление процессами

Служба WWW управляет пулами приложений и рабочими процессами, такими как запуск, остановка и перезапуск рабочих процессов. Кроме того, служба WWW отслеживает работоспособность рабочих процессов и вызывает быстрое обнаружение сбоя, чтобы остановить запуск новых процессов при сбое нескольких рабочих процессов в настраиваемое время.

Как служба WWW работает в IIS

В СЛУЖБАх IIS служба WWW больше не управляет рабочими процессами. Вместо этого служба WWW является адаптером прослушивателя для прослушивателя HTTP, HTTP.sys. Как адаптер прослушивателя служба WWW в первую очередь отвечает за настройку HTTP.sys, обновление HTTP.sys при изменении конфигурации и уведомление WAS, когда запрос входит в очередь запросов.

Кроме того, служба WWW продолжает собирать счетчики для веб-сайтов. Так как счетчики производительности остаются частью службы WWW, они относятся к HTTP и не применяются к WAS.

Служба активации Windows (WAS)

В IIS 7 и более поздних версиях служба активации windows (WAS) управляет конфигурацией пула приложений и рабочими процессами вместо службы WWW. Это позволяет использовать одну и ту же конфигурацию и модель процесса для сайтов HTTP и сайтов, отличных от HTTP.

Кроме того, вы можете запустить WAS без службы WWW, если вам не нужна функция HTTP. Например, вы можете управлять веб-службой с помощью адаптера прослушивателя WCF, например NetTcpActivator, без запуска службы WWW, если вам не нужно прослушивать HTTP-запросы в HTTP.sys. Сведения об адаптерах прослушивателя WCF и о размещении приложений WCF в IIS 7 и более поздних версиях с помощью WAS см. в статье Размещение в WCF на сайте MSDN.

Управление конфигурацией в WAS

При запуске WAS считывает определенные сведения из файла ApplicationHost.config и передает эти сведения адаптерам прослушивателя на сервере. Адаптеры прослушивателей — это компоненты, которые устанавливают связь между WAS и прослушивателями протоколов, например HTTP.sys. Когда адаптеры прослушивателей получают сведения о конфигурации, они настраивают связанные прослушиватели протоколов и подготавливают прослушиватели для прослушивания запросов.

В случае с WCF адаптер прослушивателя включает функции прослушивателя протокола. Таким образом, адаптер прослушивателя WCF, например NetTcpActivator, настраивается на основе сведений из WAS. После настройки NetTcpActivator он прослушивает запросы, использующие протокол net.tcp. Дополнительные сведения об адаптерах прослушивателя WCF см. в статье Архитектура активации WAS на сайте MSDN.

В следующем списке описан тип сведений, которые WAS считывает из конфигурации:

  • Сведения о глобальной конфигурации
  • Сведения о конфигурации протокола для протоколов HTTP и протоколов, отличных от HTTP
  • Конфигурация пула приложений, например сведения об учетной записи процесса
  • Конфигурация сайта, например привязки и приложения
  • Конфигурация приложения, например включенные протоколы и пулы приложений, к которым относятся приложения

Если ApplicationHost.config изменения, WAS получает уведомление и обновляет адаптеры прослушивателя новыми сведениями.

Управление процессами

WAS управляет пулами приложений и рабочими процессами для http- и не http-запросов. Когда прослушиватель протокола берет запрос клиента, WAS определяет, выполняется ли рабочий процесс. Если в пуле приложений уже есть рабочий процесс, который обслуживает запросы, адаптер прослушивателя передает запрос рабочему процессу для обработки. Если в пуле приложений нет рабочего процесса, WAS запустит рабочий процесс, чтобы адаптер прослушивателя смог передать ему запрос для обработки.

Примечание

Так как WAS управляет процессами как для протоколов HTTP, так и для протоколов, отличных от HTTP, можно запускать приложения с разными протоколами в одном пуле приложений. Например, можно разработать приложение, например службу XML, и разместить его по протоколу HTTP и net.tcp.

Модули в IIS

СЛУЖБЫ IIS предоставляют новую архитектуру, отличную от предыдущих версий IIS. Вместо того, чтобы сохранить большую часть функциональности на самом сервере, СЛУЖБЫ IIS включают подсистему веб-сервера, в которой можно добавлять или удалять компоненты, называемые модулями, в зависимости от ваших потребностей.

Модули — это отдельные функции, которые сервер использует для обработки запросов. Например, СЛУЖБЫ IIS используют модули проверки подлинности для проверки подлинности учетных данных клиента, а модули кэша — для управления действиями кэша.

Новая архитектура предоставляет следующие преимущества по сравнению с предыдущими версиями IIS.

  • Вы можете управлять нужными модулями на сервере.
  • Вы можете настроить сервер для определенной роли в вашей среде.
  • Пользовательские модули можно использовать для замены существующих модулей или для внедрения новых функций.

Новая архитектура также повышает безопасность и упрощает администрирование. Удаляя ненужные модули, вы уменьшаете область атак сервера и объем памяти, т. е. объем памяти, используемой рабочими процессами сервера на компьютере. Вы также избавляете от необходимости управлять функциями, которые не нужны для сайтов и приложений.

Собственные модули

В следующих разделах описываются собственные модули, доступные при полной установке IIS 7 и более поздних версий. Вы можете удалить их или заменить пользовательскими модулями в зависимости от ваших потребностей.

Модули HTTP

Несколько модулей в IIS 7 и более поздних версий выполняют задачи, относящиеся к протоколу HTTP, в конвейере обработки запросов. Модули HTTP включают модули для реагирования на информацию и запросы, отправленные в заголовках клиента, для возврата ошибок HTTP, перенаправления запросов и многого другого.

Имя модуля Описание Ресурс
CustomErrorModule Отправляет сообщения об ошибках http по умолчанию и настроенные при установке кода состояния ошибки в ответе. Inetsrv\Custerr.dll
HttpRedirectionModule Поддерживает настраиваемое перенаправление для HTTP-запросов. Inetsrv\Redirect.dll
ProtocolSupportModule Выполняет действия, связанные с протоколом, такие как настройка заголовков ответов и перенаправление заголовков на основе конфигурации. Inetsrv\Protsup.dll
RequestFilteringModule Добавлено в IIS 7.5. Фильтрует запросы, настроенные для управления поведением протокола и содержимого. Inetsrv\modrqflt.dll
WebDAVModule Добавлено в IIS 7.5. Обеспечивает более безопасную публикацию содержимого по протоколу HTTP по протоколу SSL. Inetsrv\WebDAV.dll

Модули безопасности

Несколько модулей в IIS выполняют задачи, связанные с безопасностью в конвейере обработки запросов. Кроме того, существуют отдельные модули для каждой из схем проверки подлинности, которые позволяют выбрать модули для типов проверки подлинности, которые вы хотите использовать на сервере. Существуют также модули, выполняющие авторизацию URL-адреса, и модуль, который фильтрует запросы.

Имя модуля Описание Ресурс
AnonymousAuthenticationModule Выполняет анонимную проверку подлинности при отсутствии других методов проверки подлинности. Inetsrv\Authanon.dll
BasicAuthenticationModule Выполняет обычную проверку подлинности. Inetsrv\Authbas.dll
CertificateMappingAuthenticationModule Выполняет проверку подлинности на основе сопоставления сертификатов с помощью Active Directory. Inetsrv\Authcert.dll
DigestAuthenticationModule Выполняет дайджест-проверку подлинности. Inetsrv\Authmd5.dll
IISCertificateMappingAuthenticationModule Выполняет проверку подлинности сопоставления сертификатов с помощью конфигурации сертификата IIS. Inetsrv\Authmap.dll
RequestFilteringModule Выполняет задачи URLScan, такие как настройка разрешенных команд и расширений имен файлов, установка ограничений и проверка на наличие неправильных последовательностей символов. Inetsrv\Modrqflt.dll
UrlAuthorizationModule Выполняет авторизацию URL-адреса. Inetsrv\Urlauthz.dll
WindowsAuthenticationModule Выполняет встроенную проверку подлинности NTLM. Inetsrv\Authsspi.dll
IpRestrictionModule Ограничивает IPv4-адреса, перечисленные в списке ipSecurity в конфигурации. Inetsrv\iprestr.dll

Модули содержимого

Несколько модулей в IIS выполняют задачи, связанные с содержимым в конвейере обработки запросов. Модули содержимого включают модули для обработки запросов статических файлов, для возврата страницы по умолчанию, когда клиент не указывает ресурс в запросе, для перечисления содержимого каталога и многого другого.

Имя модуля Описание Ресурс
CgiModule Выполняет процессы CGI для создания выходных данных ответа. Inetsrv\Cgi.dll
DefaultDocumentModule Пытается вернуть документ по умолчанию для запросов, выполненных в родительский каталог. Inetsrv\Defdoc.dll
DirectoryListingModule Вывод в виде списка содержимого каталога. Inetsrv\dirlist.dll
IsapiModule Размещает библиотеки DLL расширения ISAPI. Inetsrv\Isapi.dll
IsapiFilterModule Поддерживает библиотеки DLL фильтра ISAPI. Inetsrv\Filter.dll
ServerSideIncludeModule Процессы на стороне сервера включают код. Inetsrv\Iis_ssi.dll
StaticFileModule Обслуживает статические файлы. Inetsrv\Static.dll
FastCgiModule Поддерживает FastCGI, который предоставляет высокопроизводительную альтернативу CGI. Inetsrv\iisfcgi.dll

Модули сжатия

Два модуля в IIS выполняют сжатие в конвейере обработки запросов.

Имя модуля Описание Ресурс
DynamicCompressionModule Сжимает ответы и применяет код передачи сжатия Gzip к ответам. Inetsrv\Compdyn.dll
StaticCompressionModule Выполняет предварительное сжатие статического содержимого. Inetsrv\Compstat.dll

Кэширование модулей

Несколько модулей в IIS выполняют задачи, связанные с кэшированием в конвейере обработки запросов. Кэширование повышает производительность веб-сайтов и веб-приложений за счет хранения обработанных сведений, таких как веб-страницы, в памяти сервера, а затем повторного использования этой информации в последующих запросах для того же ресурса.

Имя модуля Описание Ресурс
FileCacheModule Обеспечивает кэширование в пользовательском режиме для файлов и дескрипторов файлов. Inetsrv\Cachfile.dll
HTTPCacheModule Предоставляет кэширование в режиме ядра и пользовательском режиме в HTTP.sys. Inetsrv\Cachhttp.dll
TokenCacheModule Обеспечивает кэширование в пользовательском режиме пар имени пользователя и маркера для модулей, создающих субъекты-пользователи Windows. Inetsrv\Cachtokn.dll
UriCacheModule Обеспечивает кэширование сведений ОБ URL-адресе в пользовательском режиме. Inetsrv\Cachuri.dll

Модули ведения журнала и диагностики

Несколько модулей в IIS выполняют задачи, связанные с ведением журнала и диагностикой в конвейере обработки запросов. Модули ведения журнала поддерживают загрузку пользовательских модулей и передачу информации в HTTP.sys. Модули диагностики следуют и сообщают о событиях во время обработки запроса.

Имя модуля Описание Ресурс
CustomLoggingModule Загружает пользовательские модули ведения журнала. Inetsrv\Logcust.dll
FailedRequestsTracingModule Поддерживает функцию трассировки неудачных запросов. Inetsrv\Iisfreb.dll
HttpLoggingModule Передает сведения и состояние обработки в HTTP.sys для ведения журнала. Inetsrv\Loghttp.dll
RequestMonitorModule Отслеживает запросы, выполняемые в настоящее время в рабочих процессах, и сообщает сведения о состоянии среды выполнения и интерфейсе управления приложениями (RSCA). Inetsrv\Iisreqs.dll
TracingModule Сообщает о событиях в службу трассировки событий Майкрософт для Windows (ETW). Inetsrv\Iisetw.dll

Управляемые модули поддержки

Несколько модулей в IIS поддерживают управляемую интеграцию в конвейере обработки запросов IIS.

Имя модуля Описание Ресурс
ManagedEngine Обеспечивает интеграцию модулей управляемого кода в конвейере обработки запросов IIS. Microsoft.NET\Framework\v2.0.50727\webengine.dll
ConfigurationValidationModule Проверяет проблемы конфигурации, например, когда приложение выполняется в режиме интеграции, но в разделе system.web объявлены обработчики или модули. Inetsrv\validcfg.dll

Управляемые модули

Помимо собственных модулей службы IIS позволяют использовать модули управляемого кода для расширения функциональных возможностей IIS. Некоторые управляемые модули, например UrlAuthorization, имеют собственный модуль, который предоставляет собственную альтернативу управляемому модулю.

Примечание

Управляемые модули зависят от модуля ManagedEngine.

В следующей таблице перечислены управляемые модули, доступные с полной установкой IIS 7 и более поздних версий. Дополнительные сведения об управляемых модулях см. в пакете SDK для платформа .NET Framework версии 2.0 на сайте MSDN.

Имя модуля Описание Ресурс
AnonymousIdentification Управляет анонимными идентификаторами, которые используются функциями, поддерживающими анонимную идентификацию, например ASP.NET профилем. System.Web.Security.AnonymousIdentificationModule
DefaultAuthentication Обеспечивает присутствие в контексте объекта проверки подлинности. System.Web.Security.DefaultAuthenticationModule
FileAuthorization Проверяет, имеет ли пользователь разрешение на доступ к запрошенным файлам. System.Web.Security.FileAuthorizationModule
FormsAuthentication Поддерживает проверку подлинности с помощью форм. System.Web.Security.FormsAuthenticationModule
OutputCache Поддерживает кэширование выходных данных. System.Web.Caching.OutputCacheModule
Профиль Управляет профилями пользователей с помощью ASP.NET профиля, который сохраняет и извлекает параметры пользователя в источнике данных, например в базе данных. System.Web.Profile.ProfileModule
RoleManager Управляет экземпляром RolePrincipal для текущего пользователя. System.Web.Security.RoleManagerModule
Сеанс Поддерживает сохранение состояния сеанса, что позволяет хранить данные, относящиеся к одному клиенту, в приложении на сервере. System.Web.SessionState.SessionStateModule
UrlAuthorization Определяет, разрешен ли текущему пользователю доступ к запрашиваемому URL-адресу на основе имени пользователя или списка ролей, членом которых является пользователь. System.Web.Security.UrlAuthorizationModule
UrlMappingsModule Поддерживает сопоставление реального URL-адреса с более понятным URL-адресом. System.Web.UrlMappingsModule
WindowsAuthentication Задает удостоверение пользователя для приложения ASP.NET, если включена проверка подлинности Windows. System.Web.Security.WindowsAuthenticationModule

Обработка запросов в IIS

В IIS конвейеры запросов IIS и ASP.NET объединены для обработки запросов с помощью интегрированного подхода. Новая архитектура обработки запросов состоит из упорядоченного списка собственных и управляемых модулей, которые выполняют определенные задачи в ответ на запросы.

Такая конструкция обеспечивает ряд преимуществ по сравнению с предыдущими версиями IIS. Во-первых, все типы файлов могут использовать функции, которые изначально были доступны только для управляемого кода. Например, теперь можно использовать ASP.NET проверки подлинности с помощью форм и авторизации url-адреса для статических файлов, asp-файлов и всех других типов файлов на сайтах и в приложениях.

Во-вторых, такая конструкция исключает дублирование нескольких функций в IIS и ASP.NET. Например, когда клиент запрашивает управляемый файл, сервер вызывает соответствующий модуль проверки подлинности во встроенном конвейере для проверки подлинности клиента. В предыдущих версиях IIS этот же запрос проходил проверку подлинности как в конвейере IIS, так и в конвейере ASP.NET.

В-третьих, вы можете управлять всеми модулями в одном расположении, а не управлять некоторыми функциями в IIS и некоторыми в конфигурации ASP.NET. Это упрощает администрирование сайтов и приложений на сервере.

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

Пулы приложений разделяют приложения по границам процесса, чтобы предотвратить влияние приложения на другое приложение на сервере. В IIS 7 и более поздних версиях пулы приложений продолжают использовать режим изоляции рабочих процессов IIS 6.0. Кроме того, теперь можно указать параметр, определяющий способ обработки запросов, использующих управляемые ресурсы: интегрированный или классический режим.

Примечание

В IIS 6.0 режим изоляции рабочих процессов и режим изоляции IIS 5.0 задаются на уровне сервера. Это делает невозможным выполнение обоих режимов изоляции на одном сервере. Однако в IIS 7 и более поздних версиях режимы интеграции и классические режимы задаются на уровне пула приложений, что позволяет запускать приложения одновременно в пулах приложений с разными режимами обработки на одном сервере.

Режим интегрированного пула приложений

Если пул приложений находится в режиме интеграции, вы можете воспользоваться преимуществами интегрированной архитектуры обработки запросов IIS и ASP.NET. Когда рабочий процесс в пуле приложений получает запрос, запрос проходит через упорядоченный список событий. Каждое событие вызывает необходимые собственные и управляемые модули для обработки частей запроса и создания ответа.

Запуск пулов приложений в режиме интеграции имеет несколько преимуществ. Сначала модели обработки запросов IIS и ASP.NET интегрированы в единую модель процессов. Эта модель исключает шаги, которые ранее дублировались в IIS и ASP.NET, например проверку подлинности. Кроме того, интегрированный режим обеспечивает доступность управляемых функций для всех типов контента.

Классический режим пула приложений

Если пул приложений находится в классическом режиме, IIS 7 и более поздних версий обрабатывают запросы так же, как и в режиме изоляции рабочих процессов IIS 6.0. ASP.NET запросы сначала проходят собственные этапы обработки в IIS, а затем направляются в Aspnet_isapi.dll для обработки управляемого кода в управляемой среде выполнения. Наконец, запрос направляется обратно через СЛУЖБЫ IIS для отправки ответа.

Такое разделение моделей IIS и ASP.NET обработки запросов приводит к дублированию некоторых этапов обработки, таких как проверка подлинности и авторизация. Кроме того, функции управляемого кода, такие как проверка подлинности с помощью форм, доступны только для ASP.NET приложений или приложений, для которых скрипт сопоставляет все запросы, обрабатываемые aspnet_isapi.dll.

Обязательно протестируйте существующие приложения на совместимость в режиме интеграции перед обновлением рабочей среды до IIS 7 и более поздних версий и назначением приложений пулам приложений в режиме интеграции. Приложение следует добавлять в пул приложений в классическом режиме, только если приложение не работает в режиме интеграции. Например, приложение может полагаться на маркер проверки подлинности, передаваемый из IIS в управляемую среду выполнения, и из-за новой архитектуры в IIS 7 и более поздних версиях процесс нарушает работу приложения.

Обработка HTTP-запросов в IIS

IIS 7 и более поздних версий имеют аналогичный поток обработки http-запросов, что и IIS 6.0. На схемах в этом разделе представлен обзор HTTP-запроса в процессе.

В следующем списке описывается поток обработки запросов, показанный на рис. 1.

  1. Когда браузер клиента инициирует HTTP-запрос для ресурса на веб-сервере, HTTP.sys перехватывает запрос.
  2. HTTP.sys контакты WAS для получения сведений из хранилища конфигурации.
  3. WAS запрашивает сведения о конфигурации из хранилища конфигураций applicationHost.config.
  4. Служба WWW получает сведения о конфигурации, такие как пул приложений и конфигурация сайта.
  5. Служба WWW использует сведения о конфигурации для настройки HTTP.sys.
  6. WAS запускает рабочий процесс для пула приложений, к которому был сделан запрос.
  7. Рабочий процесс обрабатывает запрос и возвращает ответ на HTTP.sys.
  8. Клиент получает ответ.

На схеме показан клиент в режиме ядра, взаимодействующий с элементами в пользовательском режиме, как описано выше.

Рис. 1. Общие сведения о HTTP-запросе

В рабочем процессе HTTP-запрос проходит несколько упорядоченных шагов, называемых событиями, в основных веб-серверах. На каждом событии собственный модуль обрабатывает часть запроса, например проверку подлинности пользователя или добавление сведений в журнал событий. Если для запроса требуется управляемый модуль, собственный модуль ManagedEngine создает AppDomain, где управляемый модуль может выполнять необходимую обработку, например проверку подлинности пользователя с помощью проверки подлинности на основе форм. Когда запрос проходит через все события в основных веб-серверах, ответ возвращается в HTTP.sys. На рисунке 2 ниже показан HTTP-запрос, входящий в рабочий процесс.

На схеме показан рабочий процесс, содержащий ядро веб-сервера, связанное с собственными модулями, связанными с доменом приложения.

Рис. 2. Подробные сведения о HTTP-запросе внутри рабочего процесса