Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A API do SERVIDOR HTTP versão 2.0 fornece a capacidade de criar um serviço mais seguro e confiável isolando processos de trabalho que estão atendendo solicitações na fila de solicitações. A fila de solicitações é criada e administrada por um controlador ou processo de criador que controla estritamente o acesso a ela. O processo do controlador inicia um ou mais processos de trabalho separados que executam E/S na fila de solicitação. O processo do controlador é executado com privilégio administrativo e configura a fila de solicitações, enquanto o trabalhador de privilégios inferiores processa o acesso e solicitações de serviço da fila de solicitação. Essa arquitetura dá suporte à política de aplicativos em execução em "privilégio mínimo" e reduz a possibilidade de vulnerabilidades de segurança introduzidas por código de terceiros que podem estar em execução em processos de trabalho.
O acesso à fila de solicitação é concedido quando o processo do controlador cria a fila de solicitações com um nome e uma ACL (Lista de Controle de Acesso). Os aplicativos Web incluídos na ACL podem abrir uma fila de solicitação existente pelo nome. O processo do criador também pode ser um processo de trabalho na fila de solicitações. Para obter mais informações, consulte o tópico fila de solicitação nomeada. O diagrama a seguir mostra a arquitetura de um aplicativo HTTP típico em execução com o modelo de processo de trabalho:
Os processos individuais de trabalho dentro do aplicativo são isolados de outros processos de trabalho e a integridade de cada um dos processos de trabalho pode ser monitorada pelo processo do controlador. O processo do controlador é isolado dos processos de trabalho. Os componentes da arquitetura HTTP são descritos abaixo:
- Processo de criador ou controlador: o processo do controlador pode ser executado com ou sem privilégios administrativos para monitorar a integridade e configurar o serviço. O processo do controlador normalmente cria uma única sessão de servidor para o serviço e define os grupos de URL na sessão do servidor. O grupo de URL ao qual uma URL específica está associada determina quais serviços de fila de solicitação o namespace indicado pela URL específica. O processo do controlador também cria a fila de solicitações e inicia os processos de trabalho que podem acessar a fila de solicitações.
- Processo de Trabalho: os processos de trabalho, iniciados pelo processo do controlador, executam E/S na fila de solicitação associada às URLs que eles executam. O aplicativo Web recebe acesso à fila de solicitação pelo processo do controlador na ACL quando a fila de solicitação é criada. A menos que o aplicativo Web também seja o processo do criador, ele não gerencia o serviço nem configura a fila de solicitação. O processo do controlador comunica o nome da fila de solicitação para o processo de trabalho e o processo de trabalho abre a fila de solicitação pelo nome. Os processos de trabalho podem carregar aplicativos Web de terceiros sem introduzir vulnerabilidades de segurança em outras partes do aplicativo.
- Fila de solicitações: a fila de solicitação é criada e configurada pelo processo do controlador. O controlador especifica os processos que têm permissão de acesso à fila de solicitação na ACL quando a fila de solicitação é criada.
- Sessão do Servidor: o processo do controlador normalmente cria e configura uma única sessão de servidor para o aplicativo. A sessão do servidor mantém as propriedades de configuração de todo o aplicativo. Os grupos de URL são criados na sessão do servidor pelo processo do controlador.
- Grupo de URLs: o processo do controlador cria os grupos de URL na sessão do servidor e configura o grupo de URLs independentemente da sessão do servidor. As URLs são adicionadas ao grupo pelo processo do controlador. As solicitações são roteados para a fila de solicitação à qual o grupo de URL está associado.