Introdução à arquitetura do IIS
Introdução
Internet Information Services (IIS) 7 e acima fornece uma arquitetura de processamento de solicitação, que inclui:
- O Windows Process Activation Service (WAS), que permite que sites para usar protocolos diferentes de HTTP e HTTPS.
- Um motor de servidor Web que pode ser personalizado, adicionando ou removendo módulos.
- Integrados pedido de processamento de gasodutos do IIS e ASP.NET.
Este artigo descreve os componentes, módulos e de processamento de solicitação de arquitetura nas seguintes seções:
Componentes no IIS
IIS contém vários componentes que desempenham funções importantes para a aplicação e funções de servidor Web no Windows Server ® 2008 (IIS 7.0) e Windows Server 2008 R2 (IIS 7.5). Cada componente tem responsabilidades, como escutar as solicitações feitas ao servidor, os processos de gestão, e leitura de arquivos de configuração. Estes componentes incluem ouvintes de protocolo, como HTTP.sys e serviços, como o World Wide Web Publishing Serviço (serviço WWW) e Windows Serviço de Ativação de Processos (WAS).
Ouvintes de protocolo
Ouvintes de protocolo receber pedidos específicos de protocolo, enviá-los para o IIS para processamento e depois retornar respostas para solicitantes. Por exemplo, quando um cliente solicita uma página do navegador da Web a partir da Internet, o ouvinte HTTP, HTTP.sys, pega o pedido e envia-o para o IIS para processamento. Uma vez que o IIS processa o pedido, HTTP.sys retorna uma resposta para o navegador do cliente.
Por padrão, o IIS fornece HTTP.sys como o ouvinte de protocolo que escuta solicitações HTTP e HTTPS. HTTP.sys foi introduzido no IIS 6.0 como um ouvinte de protocolo HTTP-específico para solicitações HTTP. HTTP.sys continua a ser o ouvinte HTTP no IIS 7 e acima, mas inclui suporte para Secure Sockets Layer (SSL).
Para apoiar os serviços e aplicativos que usam protocolos diferentes de HTTP e HTTPS, você pode usar tecnologias como o Windows Communication Foundation (WCF). WCF tem adaptadores de escuta que proporcionam a funcionalidade de ambos um protocolo ouvinte e um adaptador de ouvinte. Adaptadores de escuta são cobertos mais adiante neste documento. Para mais informações sobre o WCF, consulte Windows Communication Foundation no MSDN.
Hypertext Transfer Protocol Stack (HTTP.sys)
O ouvinte HTTP faz parte do subsistema de rede de sistemas operacionais Windows, e ele é implementado como um driver de dispositivo de modo kernel chamado de pilha do protocolo HTTP (HTTP.sys). HTTP.sys escuta solicitações HTTP da rede, passa os pedidos para o IIS para o processamento e retorna respostas processados para navegadores cliente.
No IIS 6.0, HTTP.sys substituído API do Windows Sockets (Winsock), que era um componente do modo de usuário usado por versões anteriores do IIS para receber solicitações HTTP e enviar respostas HTTP. IIS 7 e acima de continuar a contar com HTTP.sys para solicitações HTTP.
HTTP.sys oferece os seguintes benefícios:
- Cache do modo kernel. Os pedidos de respostas em cache são servidos sem mudar para o modo de usuário.
- Modo kernel de filas pedido. Pedidos causar menos sobrecarga na troca de contexto porque o kernel encaminha as solicitações diretamente para o processo de trabalho correta. Se nenhum processo de trabalho está disponível para aceitar um pedido, a fila de pedidos no modo kernel mantém o pedido até um processo de trabalho pega.
- Pedido de pré-processamento e filtragem de segurança.
World Wide Web Publishing Service (serviço WWW)
No IIS 7 e acima, a funcionalidade que foi previamente tratada pelo Serviço de Publicação na World Wide Web (serviço WWW) só agora está dividido entre dois serviços: Serviço de WWW e um serviço novo, o Windows Process Activation Service (WAS). Estes dois serviços são executados como LocalSystem no processo Svchost.exe mesmo, e compartilhar os mesmos binários.
Nota Você também pode ver o serviço WWW referido como W3SVC na documentação.
COMO SERVIÇO WWW FUNCIONA NO IIS 6.0
No IIS 6.0, Serviço WWW gerencia as seguintes áreas principais no IIS:
- HTTP administração e configuração
- Gestão de processos
- Monitoramento de desempenho
HTTP Administração e Configuração
O serviço WWW lê as informações de configuração da metabase do IIS e usa essas informações para configurar e atualizar o ouvinte HTTP, HTTP.sys. Além disso, inicia o serviço WWW, paradas, monitores e gerencia os processos de trabalho que os pedidos de processo HTTP.
Monitoramento de Desempenho
O serviço WWW monitora o desempenho e fornece contadores de desempenho para sites e para o cache do IIS.
Gestão de Processos
O serviço WWW gerencia pools de aplicativos e processos de trabalho, tais como iniciar, parar e reciclagem de processos de trabalho. Além disso, o serviço WWW monitora a saúde dos processos de trabalho, e invoca a detecção de falha rápida para impedir novos processos de partida quando vários processos de trabalho falhar em um período de tempo configurável.
COMO FUNCIONA O SERVIÇO WWW NO IIS
No IIS, o serviço WWW não gerencia mais processos de trabalho. Em vez disso, o serviço WWW é o adaptador de escuta para o ouvinte HTTP, HTTP.sys. Como o adaptador de escuta, o serviço WWW é o principal responsável para configurar HTTP.sys, atualização HTTP.sys quando as mudanças de configuração e notificantes era quando um pedido entra na fila de pedidos.
Além disso, o serviço WWW continua a recolher os contadores para sites. Como os contadores de desempenho continuam a fazer parte do Serviço WWW, eles são específicos HTTP e não se aplicam para WAS.
Windows Process Activation Service (WAS)
No IIS 7 ou superior, Windows Process Activation Service (WAS) gere a configuração do pool de aplicativos e processos de trabalho, em vez de o serviço WWW. Isso permite que você use a mesma configuração e modelo de processo para HTTP e não-HTTP sites.
Além disso, você pode executar estava sem o serviço WWW, se você não precisa de uma funcionalidade HTTP. Por exemplo, você pode gerenciar um serviço Web através de um adaptador de escuta WCF, como NetTcpActivator, sem correr o serviço WWW, se você não precisa ouvir as solicitações HTTP no HTTP.sys. Para obter informações sobre adaptadores de escuta WCF e sobre como hospedar aplicações WCF no IIS 7 e acima usando WAS, ver de hospedagem no WCF no MSDN.
GERENCIAMENTO DE CONFIGURAÇÃO NO WAS
Na inicialização, FOI lê algumas informações do arquivo ApplicationHost.config, e passa essa informação para adaptadores de escuta no servidor. Adaptadores de escuta são componentes que estabelecem a comunicação entre WS e ouvintes de protocolo, como HTTP.sys. Uma vez adaptadores de escuta receber informações de configuração, eles configurar seus ouvintes protocolo relacionado e preparar os ouvintes para ouvir solicitações.
No caso do WCF, um adaptador de escuta inclui a funcionalidade de um ouvinte protocolo. Assim, um adaptador de escuta WCF, como NetTcpActivator, é configurado com base em informações da WAS. Uma vez NetTcpActivator é configurado, ele atende a pedidos que usam o protocolo net.tcp. Para mais informações sobre adaptadores de escuta do WCF, consulte Arquitetura de ativação foi no MSDN.
A lista a seguir descreve o tipo de informação que foi lê a partir de configuração:
- Informações de configuração global
- Protocolo de informações de configuração para HTTP e protocolos não HTTP
- Configuração do pool de aplicativos, como o processo de informações da conta
- Configuração do site, tais como ligações e aplicações
- Configuração do aplicativo, tais como os protocolos habilitados e os pools de aplicativos para que as aplicações pertencem
Se as mudanças ApplicationHost.config, FOI recebe uma notificação e atualiza os adaptadores de escuta com as novas informações.
Gestão de Processos
FOI gerencia pools de aplicativos e processos de trabalho, tanto para HTTP e não-HTTP solicitações. Quando um ouvinte de protocolo pega uma solicitação do cliente, FOI determina se um processo de trabalho está sendo executado ou não. Se um pool de aplicativo já tem um processo de trabalho que está atendendo a solicitações, o adaptador de escuta passa a solicitação para o processo de trabalho para processamento. Se não houver um processo de trabalho no pool de aplicativos, era a vontade de iniciar um processo de trabalho para que o adaptador ouvinte pode passar a solicitação para para processamento.
Nota: Como FOI gerencia processos para os protocolos HTTP e não-HTTP, você pode executar aplicativos com diferentes protocolos no mesmo pool de aplicativos. Por exemplo, você pode desenvolver um aplicativo, como um serviço de XML, e hospedá-lo sobre HTTP e net.
Módulos em IIS
O IIS fornece uma nova arquitetura que é diferente das versões anteriores do IIS. Em vez de manter a maioria de funcionalidade dentro do próprio servidor, o IIS incluem um motor de servidor Web no qual você pode adicionar ou remover componentes, chamados de módulos, dependendo de suas necessidades.
Os módulos são características individuais que o servidor usa para processar os pedidos. Por exemplo, o IIS utiliza módulos de autenticação para autenticar as credenciais do cliente, e módulos de cache para gerenciar a atividade de cache.
A nova arquitetura oferece as seguintes vantagens em relação às versões anteriores do IIS:
- Você pode controlar quais módulos que você quer no servidor.
- Você pode personalizar um servidor para um papel específico em seu ambiente.
- Você pode usar módulos personalizados para substituir os módulos existentes ou a introdução de novas funcionalidades.
A nova arquitetura também melhora a segurança e simplifica a administração. Ao remover módulos desnecessários, você reduz a superfície de ataque do servidor e espaço de memória, que é a quantidade de memória que os processos de trabalho do servidor usam na máquina. Você também eliminar a necessidade de gerenciar os recursos que são desnecessários para seus sites e aplicações.
Módulos nativos
As seções seguintes descrevem os módulos nativos que estão disponíveis com uma instalação completa do IIS 7 ou superior.Você pode removê-los ou substituí-los com módulos personalizados, dependendo de suas necessidades.
MÓDULOS HTTP
Vários módulos no IIS 7 e acima de executar tarefas específicas para Hypertext Transfer Protocol (HTTP) no pipeline de processamento de solicitação. Módulos HTTP incluem módulos para responder a informações e dúvidas enviadas em cabeçalhos dos clientes, para retornar erros de HTTP, para redirecionar solicitações, e mais.
| Nome do Módulo | Descrição | Recurso | |
|---|---|---|---|
| CustomErrorModule | Envia padrão e configurados mensagens de erro HTTP quando um código de status de erro é definido em uma resposta. | Inetsrv \ Custerr.dll | |
| HttpRedirectionModule | Suporta redirecionamento configurável para solicitações HTTP. | Inetsrv \ Redirect.dll | |
| ProtocolSupportModule | Executa protocolo de ações relacionadas, tais como definir cabeçalhos de resposta e redirecionando cabeçalhos com base na configuração. | Inetsrv \ Protsup.dll | |
| RequestFilteringModule | Adicionados ao IIS 7.5. Pedidos de filtros como configurado para controlar o comportamento de protocolo e de conteúdo. | Inetsrv \ modrqflt.dll | |
| WebDAVModule | Adicionados ao IIS 7.5. Permite publicação mais segura de conteúdo através de HTTP sobre SSL. | Inetsrv \ WebDAV.dll | |
MÓDULOS DE SEGURANÇA
Vários módulos no IIS executar tarefas relacionadas com a segurança no pipeline de processamento de solicitação. Além disso, existem módulos separados para cada um dos esquemas de autenticação, que permitem que você selecione os módulos para os tipos de autenticação que você quer em seu servidor. Há também módulos que executam a autorização de URL, e um módulo de solicitações que os filtros.
| Nome do Módulo | Descrição | Recurso |
|---|---|---|
| AnonymousAuthenticationModule | Executa a autenticação anônima quando não outro método de autenticação bem-sucedida. | Inetsrv \ Authanon.dll |
| BasicAuthenticationModule | Executa a autenticação básica. | Inetsrv \ Authbas.dll |
| CertificateMappingAuthenticationModule | Realiza a autenticação de certificado de mapeamento usando o Active Directory. | Inetsrv \ Authcert.dll |
| DigestAuthenticationModule | Realiza a autenticação Digest. | Inetsrv \ Authmd5.dll |
| IISCertificateMappingAuthenticationModule | Realiza a autenticação de certificado de mapeamento usando a configuração do IIS certificado. | Inetsrv \ Authmap.dll |
| RequestFilteringModule | Executa tarefas URLScan como configurar verbos permitidos e extensões de nome de arquivo, o estabelecimento de limites, e digitalização para sequências de caracteres ruins. | Inetsrv \ Modrqflt.dll |
| UrlAuthorizationModule | Executa a autorização de URL. | Inetsrv \ Urlauthz.dll |
| WindowsAuthenticationModule | Executa NTLM autenticação integrada. | Inetsrv \ Authsspi.dll |
| IpRestrictionModule | Restringe endereços IPv4 listados na lista de segurança IP na configuração. | Inetsrv \ iprestr.dll |
MÓDULOS CONTEÚDO
Vários módulos no IIS executar tarefas relacionadas com o conteúdo do pipeline de processamento de solicitação. Módulos de conteúdo incluem módulos para processar solicitações de arquivos estáticos, para retornar uma página padrão quando um cliente não especificar um recurso em um pedido, para listar o conteúdo de um diretório, e muito mais.
| Nome do Módulo | Descrição | Recurso |
|---|---|---|
| CgiModule | Executa Common Gateway Interface (CGI) para construir processos de saída de resposta. | Inetsrv \ Cgi.dll |
| DefaultDocumentModule | Tentativas de retornar um documento padrão para as solicitações feitas ao diretório pai. | Inetsrv \ Defdoc.dll |
| DirectoryListingModule | Lista o conteúdo de um diretório. | Inetsrv \ dirlist.dll |
| IsapiModule | Hospeda ISAPI DLLs de extensão. | Inetsrv \ Isapi.dll |
| IsapiFilterModule | Suporta filtro ISAPI DLLs. | Inetsrv \ Filter.dll |
| ServerSideIncludeModule | Processos do lado do servidor inclui código. | Inetsrv \ Iis_ssi.dll |
| StaticFileModule | Serve arquivos estáticos. | Inetsrv \ Static.dll |
| FastCgiModule | Suporta FastCGI, que oferece uma alternativa de alto desempenho para CGI. | Inetsrv \ iisfcgi.dll |
MÓDULOS DE COMPRESSÃO
Dois módulos de compressão no IIS executar no pipeline de processamento de solicitação.
| Nome do Módulo | Descrição | Recurso |
|---|---|---|
| DynamicCompressionModule | Comprime respostas e aplica Gzip transferência de codificação de compressão de respostas. | Inetsrv \ Compdyn.dll |
| StaticCompressionModule | Realiza pré-compressão de conteúdo estático. | Inetsrv \ Compstat.dll |
MÓDULOS DE CACHE
Vários módulos no IIS executar tarefas relacionadas ao armazenamento em cache no pipeline de processamento de solicitação.Cache melhora o desempenho de seus sites e aplicações Web através do armazenamento de informações processadas, como páginas da Web, na memória do servidor, e depois reutilizar essa informação em visitas posteriores para o mesmo recurso.
| Nome do Módulo | Descrição | Recurso |
|---|---|---|
| FileCacheModule | Fornece modo de usuário de cache para arquivos e identificadores de arquivo. | Inetsrv \ Cachfile.dll |
| HTTPCacheModule | Fornece modo kernel e modo de usuário em cache HTTP.sys. | Inetsrv \ Cachhttp.dll |
| TokenCacheModule | Fornece modo de usuário de cache de nome de usuário e pares de token para módulos que produzem diretores de usuário do Windows. | Inetsrv \ Cachtokn.dll |
| UriCacheModule | Fornece cache modo usuário de informações de URL. | Inetsrv \ Cachuri.dll |
LOGGING E MÓDULOS DE DIAGNÓSTICO
Vários módulos no IIS executar tarefas relacionadas à exploração madeireira e diagnósticos no pipeline de processamento de solicitação. Os módulos de registro suporta o carregamento de módulos personalizados e passar informações para HTTP.sys. Os módulos de diagnósticos acompanhar e relatar eventos durante o processamento de pedido.
| Nome do Módulo | Descrição | Recurso |
|---|---|---|
| CustomLoggingModule | Carrega módulos personalizados madeireiras. | Inetsrv \ Logcust.dll |
| FailedRequestsTracingModule | Suporta o recurso de Rastreamento de Solicitação Falha. | Inetsrv \ Iisfreb.dll |
| HttpLoggingModule | Passa informações e status de processamento para HTTP.sys para registro. | Inetsrv \ Loghttp.dll |
| RequestMonitorModule | Pedidos de faixas em execução em processos de trabalho e informações de relatórios com status de tempo de execução e Interface de Controle de Programação de Aplicativos (RSCA). | Inetsrv \ Iisreqs.dll |
| TracingModule | Relatórios de eventos para Microsoft Rastreamento de Eventos para Windows (ETW). | Inetsrv \ Iisetw.dll |
GERENCIADOS MÓDULOS DE APOIO
Um par de módulos de apoio IIS conseguiu integração no pipeline de processamento de solicitação do IIS.
| Nome do Módulo | Descrição | Recurso |
|---|---|---|
| ManagedEngine | Fornece integração de módulos de código gerenciado no pipeline de processamento de solicitação do IIS. | Microsoft.NET \ Framework \ v2.0.50727 \ Webengine.dll |
| ConfigurationValidationModule | Valida problemas de configuração, tais como quando um aplicativo é executado no modo integrado, mas tem manipuladores ou módulos declarados na seção system.web. | Inetsrv \ validcfg.dll |
Módulos gerenciados
Além de módulos nativos, o IIS permite que você use os módulos de código gerenciado para estender a funcionalidade do IIS.Alguns dos módulos de gestão, tais como UrlAuthorization, ter uma contrapartida nativa módulo que proporciona uma alternativa nativo para o módulo de gestão.
Nota Os módulos gerenciados dependem do módulo ManagedEngine.
A tabela a seguir lista os módulos gerenciados que estão disponíveis com uma instalação completa do IIS 7 ou superior. Para mais informações sobre os módulos gerenciados, consulte o . NET Framework 2.0 SDK no MSDN.
| Nome do Módulo | Descrição | Recurso |
|---|---|---|
| AnonymousIdentification | Gerencia identificadores anônimos, que são usados por recursos que suportam a identificação anônima tais como o perfil do ASP.NET. | System.Web.Security.AnonymousIdentificationModule |
| DefaultAuthentication | Garante que um objeto de autenticação está presente no contexto. | System.Web.Security.DefaultAuthenticationModule |
| FileAuthorization | Verifica se um usuário tem permissão para acessar o arquivo solicitado. | System.Web.Security.FileAuthorizationModule |
| FormsAuthentication | Suporta autenticação usando a autenticação de formulários. | System.Web.Security.FormsAuthenticationModule |
| OutputCache | Suporta cache de saída. | System.Web.Caching.OutputCacheModule |
| Perfil | Gerencia perfis de usuário usando o ASP.NET perfil, que armazena e recupera as configurações do usuário em uma fonte de dados, como um banco de dados. | System.Web.Profile.ProfileModule |
| RoleManager | Gerencia uma instância RolePrincipal para o usuário atual. | System.Web.Security.RoleManagerModule |
| Sessão | Defende a manutenção do estado de sessão, o que permite o armazenamento de dados específicos para um único cliente dentro de uma aplicação no servidor. | System.Web.SessionState.SessionStateModule |
| UrlAuthorization | Determina se o usuário atual é permitido o acesso à URL solicitada, com base no nome de usuário ou a lista de funções das quais o usuário é membro. | System.Web.Security.UrlAuthorizationModule |
| UrlMappingsModule | Suporta mapeamento de uma URL real para uma URL mais user-friendly. | System.Web.UrlMappingsModule |
| WindowsAuthentication | Define a identidade do usuário para uma aplicação ASP.NET quando a autenticação do Windows está ativado. | System.Web.Security.WindowsAuthenticationModule |
Processamento de solicitação em IIS
No IIS, o IIS e tubulações de solicitação ASP.NET combinam para processar os pedidos com uma abordagem integrada. A arquitetura de processamento de solicitação novo consiste de uma lista ordenada de módulos nativos e gerenciados que executam tarefas específicas em resposta a pedidos.
Este projeto oferece vários benefícios em relação às versões anteriores do IIS. Primeiro, todos os tipos de arquivos podem usar recursos que foram inicialmente disponível apenas para código gerenciado. Por exemplo, agora você pode usar a autenticação de formulários ASP.NET e Uniform Resource Locator (URL) de autorização para arquivos estáticos, Active Server Pages (ASP) arquivos, e todos os outros tipos de arquivo em seus sites e aplicações.
Segundo, este projeto elimina a duplicação de vários recursos no IIS e ASP.NET. Por exemplo, quando um cliente solicita um arquivo gerenciado, o servidor chama o módulo de autenticação adequado no pipeline integrado para autenticar o cliente. Em versões anteriores do IIS, este mesmo pedido iria passar por um processo de autenticação, tanto no gasoduto IIS e no pipeline do ASP.NET.
Terceiro, você pode gerenciar todos os módulos em um único local, em vez de gerir alguns recursos no IIS e alguns na configuração ASP.NET. Isso simplifica a administração de sites e aplicativos no servidor.
Pools de aplicativos no IIS
Pools de aplicativos aplicações separadas por limites de processo para evitar uma aplicação de afetar outro aplicativo no servidor.No IIS 7 e acima, pools de aplicativos continuar a usar o IIS 6.0 modo de isolamento do processo. Além disso, agora você pode especificar uma configuração que determina a forma de processar os pedidos que envolvem recursos gerenciados: modo integrado ou modo Classic.
Nota: No IIS 6.0, o modo de isolamento do processo de trabalho e modo de isolamento do IIS 5.0 são definidas no nível do servidor. Isso torna impossível para executar os dois modos de isolamento no mesmo servidor. No entanto, no IIS 7 e modo, acima integrada e modo clássico são definidos no nível do pool de aplicativos, que permite que você execute aplicativos simultaneamente em pools de aplicativos com modos de processos diferentes no mesmo servidor.
MODO DE APLICAÇÃO INTEGRADA PISCINA
Quando um pool de aplicativos está no modo integrado, você pode tirar vantagem da arquitetura de processamento de solicitação integrado do IIS e ASP.NET. Quando um processo de trabalho em uma piscina aplicativo recebe um pedido, o pedido passa por uma lista ordenada de eventos. Cada evento chama os módulos necessários nativos e gerenciados para processar partes do pedido e para gerar a resposta.
Há vários benefícios para a execução pools de aplicativos no modo integrado. Primeiro, os modelos de processamento de solicitação do IIS e ASP.NET são integrados em um modelo de processo unificado. Este modelo elimina etapas que foram previamente duplicados no IIS e ASP.NET, como autenticação. Além disso, o modo integrado permite a disponibilidade de recursos gerenciados para todos os tipos de conteúdo.
MODO DE PISCINA CLÁSSICO APLICAÇÃO
Quando um pool de aplicativos está em modo clássico, o IIS 7 e acima lida com as solicitações da mesma forma como no IIS 6.0 modo de isolamento do processo. Solicitações ASP.NET primeiro passar por etapas de processamento nativas no IIS e depois são encaminhados para Aspnet_isapi.dll para o processamento de código gerenciado no tempo de execução gerenciado. Finalmente, o pedido é encaminhado de volta através do IIS para enviar a resposta.
Esta separação das IIS e ASP.NET resultados pedido de processamento de modelos em duplicação de algumas etapas de processamento, tais como autenticação e autorização. Além disso, os recursos de código gerenciado, como a autenticação de formulários, estão disponíveis somente para aplicações ASP.NET ou aplicações para os quais tem roteiro mapeados todos os pedidos sejam manipulados por aspnet_isapi.dll.
Certifique-se de testar seus aplicativos existentes para compatibilidade no modo integrado antes de atualizar um ambiente de produção para o IIS 7 e acima e atribuir aplicativos para pools de aplicativos no modo integrado. Você só deve adicionar um aplicativo para um pool de aplicativos em modo clássico se o aplicativo não funciona no modo integrado. Por exemplo, o aplicativo pode contar com um token de autenticação passada de IIS para o tempo de execução gerenciado, e, devido à nova arquitetura no IIS 7 e acima, o processo de quebra a sua aplicação.
Processamento de Pedido HTTP no IIS
IIS 7 e acima de ter um semelhante HTTP fluxo de processamento de solicitação como IIS 6.0. Os diagramas nesta seção fornecem uma visão geral de uma solicitação HTTP em processo.
A lista seguinte descreve o fluxo de processamento de solicitação que é mostrado na Figura 1:
- Quando um navegador cliente inicia uma solicitação HTTP para um recurso no servidor Web, HTTP.SYS intercepta a solicitação.
- Contatos HTTP.SYS foi a obtenção de informações a partir do arquivo de configuração.
- ERA solicitações informações de configuração do armazenamento de configuração, applicationHost.config.
- O serviço WWW recebe informações de configuração, como pool de aplicativos e configuração do site.
- O serviço WWW utiliza as informações de configuração para configurar HTTP.sys.
- FOI inicia um processo de trabalho para o pool de aplicativos a que o pedido foi feito.
- O processo de trabalho processa o pedido e retorna uma resposta ao HTTP.sys.
- O cliente recebe uma resposta.
Figura 1: Visão geral de uma solicitação HTTP
Em um processo de trabalho, uma solicitação HTTP passa por várias etapas ordenadas, denominados eventos, no Núcleo Web Server. Em cada evento, um módulo nativo processa parte do pedido, como a autenticação do usuário ou adicionar informações para o registro de eventos. Se um pedido requer um módulo gerenciado, o módulo ManagedEngine nativa cria um AppDomain, onde o módulo gerenciado pode executar o processamento necessário, como a autenticação de um usuário com autenticação de formulários. Quando a solicitação passa por todos os eventos no Server Core Web, a resposta é devolvida ao HTTP.sys. A Figura 2, abaixo, mostra uma solicitação HTTP entrando no processo de trabalho.
Figura 2: Detalhe de uma solicitação HTTP dentro do Processo de Trabalho
