Apache HTTP Server: il web server open source che domina la rete

Con oltre il 60% di quota di mercato, Apache HTTP Server è il web server più diffuso al mondo. Architettura prefork, moduli e il modello di governance dell'Apache Software Foundation.

Open SourceWeb Open SourceApacheWebInfrastrutturaServer

Il web server di riferimento

Apache HTTP Server serve oltre il 60% dei siti web a livello globale. Nato nel 1995 come insieme di patch applicate al server NCSA HTTPd — da cui il nome, “a patchy server” — è il web server open source più diffuso e il software che ha reso possibile la crescita del World Wide Web.

La versione attuale in produzione è la 1.3.x, stabile e matura, utilizzata su sistemi Unix, Linux e Windows. Lo sviluppo della versione 2.0, con una nuova architettura multi-processo, è in corso.

Architettura prefork

Apache 1.3 utilizza un modello di concorrenza basato sul prefork: all’avvio, il processo padre genera un pool di processi figli, ciascuno in grado di gestire una connessione client alla volta. Quando un processo figlio termina di servire una richiesta, torna disponibile per la successiva. Il numero di processi attivi viene regolato dinamicamente in base al carico.

Questo modello ha il vantaggio della stabilità: un errore in un processo figlio non compromette gli altri né il processo padre. Lo svantaggio è il consumo di memoria, poiché ogni processo mantiene il proprio spazio di indirizzamento. Per la maggior parte dei carichi di lavoro web, il compromesso è accettabile.

Moduli e configurazione

La potenza di Apache risiede nella sua architettura modulare. Le funzionalità sono distribuite in moduli caricabili che estendono il server senza modificarne il core:

  • mod_rewrite: riscrittura delle URL basata su espressioni regolari
  • mod_ssl: supporto per connessioni HTTPS via OpenSSL
  • mod_php: esecuzione di script PHP all’interno del processo Apache
  • mod_proxy: funzionalità di reverse proxy e forward proxy
  • mod_vhost_alias: gestione dinamica dei virtual host

I virtual host permettono a un singolo server fisico di ospitare centinaia di siti web distinti, ciascuno con il proprio dominio, la propria document root e le proprie regole di accesso. Questa funzionalità è fondamentale per i provider di hosting condiviso.

La configurazione avviene tramite il file httpd.conf e i file .htaccess distribuiti nelle directory, che permettono configurazioni decentralizzate senza riavviare il server.

L’Apache Software Foundation

Lo sviluppo di Apache HTTP Server è coordinato dalla Apache Software Foundation (ASF), fondata nel 1999. L’ASF adotta un modello di governance meritocratico: i contributori guadagnano diritti di commit e voce nelle decisioni in base alla qualità e alla continuità dei loro contributi. Le decisioni vengono prese per consenso nella mailing list degli sviluppatori, con votazione formale quando il consenso non emerge.

Questo modello ha garantito continuità e indipendenza al progetto, e l’ASF lo ha esteso ad altri progetti Open Source sotto il proprio ombrello — da Jakarta a XML — formando un ecosistema di strumenti infrastrutturali per il web.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi