Condividi tramite


Isolamento del processo

L'API HTTP Server versione 2.0 offre la possibilità di creare un servizio più sicuro e affidabile isolando i processi di lavoro che servono le richieste nella coda delle richieste. La coda delle richieste viene creata e amministrata da un controller o da un processo creatore che controlla rigorosamente l'accesso. Il processo controller avvia uno o più processi di lavoro separati che eseguono operazioni di I/O nella coda delle richieste. Il processo controller viene eseguito con privilegi amministrativi e configura la coda delle richieste, mentre il ruolo di lavoro con privilegi inferiori elabora le richieste di accesso e di servizio dalla coda delle richieste. Questa architettura supporta i criteri delle applicazioni in esecuzione con privilegi minimi e riduce la possibilità di vulnerabilità di sicurezza introdotte da codice di terze parti che potrebbero essere in esecuzione nei processi di lavoro.

L'accesso alla coda delle richieste viene concesso quando il processo controller crea la coda delle richieste con un nome e un elenco di Controllo di accesso . Le applicazioni Web incluse nell'elenco di controllo di accesso possono aprire una coda di richieste esistente in base al nome. Il processo creatore può anche essere un processo di lavoro nella coda delle richieste. Per altre informazioni, vedere l'argomento Code di richieste denominate . Il diagramma seguente illustra l'architettura di un'applicazione HTTP tipica in esecuzione con il modello di processo di lavoro:

Diagramma che mostra l'architettura di un'applicazione H T T P usando il modello di processo di lavoro.

I singoli processi di lavoro all'interno dell'applicazione sono isolati da altri processi di lavoro e l'integrità di ogni processo di lavoro può essere monitorata dal processo del controller. Il processo del controller è isolato dai processi di lavoro. I componenti dell'architettura HTTP sono descritti di seguito:

  • Processo creatore o controller: il processo controller può essere eseguito con o senza privilegi amministrativi per monitorare l'integrità e configurare il servizio. Il processo controller crea in genere una singola sessione server per il servizio e definisce i gruppi di URL nella sessione del server. Il gruppo di URL a cui è associato un URL specifico determina a quale coda di richieste viene associato lo spazio dei nomi indicato dall'URL specifico. Il processo controller crea anche la coda delle richieste e avvia i processi di lavoro che possono accedere alla coda delle richieste.
  • Processo di lavoro: i processi di lavoro, avviati dal processo del controller, eseguono operazioni di I/O nella coda delle richieste associata agli URL gestiti. All'applicazione Web viene concesso l'accesso alla coda delle richieste dal processo controller nell'elenco di controllo di accesso al momento della creazione della coda delle richieste. A meno che l'applicazione Web non sia anche il processo di creazione, non gestisce il servizio o configura la coda delle richieste. Il processo controller comunica il nome della coda di richieste al processo di lavoro e il processo di lavoro apre la coda delle richieste in base al nome. I processi di lavoro possono caricare applicazioni Web di terze parti senza introdurre vulnerabilità di sicurezza in altre parti dell'applicazione.
  • Coda richieste: la coda delle richieste viene creata e configurata dal processo del controller. Il controller specifica i processi a cui è consentito l'accesso alla coda delle richieste nell'elenco di controllo di accesso al momento della creazione della coda delle richieste.
  • Sessione server: il processo controller crea e configura in genere una singola sessione server per l'applicazione. La sessione del server gestisce le proprietà di configurazione per l'intera applicazione. I gruppi di URL vengono creati nella sessione del server dal processo del controller.
  • Gruppo URL: il processo controller crea i gruppi di URL nella sessione del server e configura il gruppo di URL indipendentemente dalla sessione del server. Gli URL vengono aggiunti al gruppo dal processo del controller. Le richieste vengono instradate alla coda delle richieste a cui è associato il gruppo di URL.