Anche se non si tratta di una novità assoluta, una delle caratteristiche più interessanti per lo sviluppatore ed introdotta con l'ormai
più che quadriennale seconda versione del popolarissimo Web Server
Apache è la possibilità di aggiungere le proprie funzioni al processo, che interviene per la generazione di ogni singola pagina.
In altre parole, invece di limitarsi ai passi per così dire standard, che si seguono quando un client chiede una determinata risorsa, è possibile scrivere dei moduli a posteriori, senza bisogno di compilarli insieme all'applicazione, come avveniva con i server Apache 1.x.x.
Il tutto è possibile grazie a degli
hook, tramite i quali è possibile modificare il normale flusso, o meglio aggiungere delle proprie funzioni. Normalmente infatti quando viene richiesto un URL, si attiva un percorso standard fatto di azioni sequenziali, come il controllo dei permessi di accesso, dell'estensione del file e così via.
E' chiaro dunque che si può intervenire in questo percorso scrivendo le proprie funzioni. Ovviamente è meglio evitare di creare delle fastidiose dipendenze incrociate quando si chiamano delle funzioni, perché non solo si renderebbe la vita impossibile agli utenti, ma anche il codice si ingarbuglierebbe eccessivamente.
Per approfondire l'argomento, vi raccomando la lettura di un
articolo fin troppo discorsivo, apparso sul
Reg Developer a proposito del libro
The Apache Modules Book, che costituisce invece una risorsa più completa e tecnica, in quanto descrive, con esempi, le strategie più efficaci per sviluppare moduli per
Apache. Si tratta senz'altro di un campo ben diverso rispetto alla programmazione di applicazioni dinamiche per il Web, però una volta che ci troviamo a lavorare con
Apache per molto tempo, la possibilità di ampliarne le funzionalità senza (troppi) sforzi e ricompilazioni diventa nteressante.