Riassumendo e semplificando al massimo ciรฒ di cui abbiamo parlato nel capitolo iniziale di questa guida, possiamo dire che lo schema client >> server su cui si basa la Rete si configura come un continuo avvicendarsi di richieste e di risposte gestite dai Web server come Apache. Il client richiede un’informazione e il Web server, continuamente in “ascolto”, si occupa di reperirla all’interno del computer server per poi inviarla al client. Abbiamo cosรฌ descritto uno schema “ideale” basato sulla dinamica domanda/risposta. Questo schema, per essere sempre efficiente, deve poter prevedere e gestire le possibili eccezioni.
Sempre all’inizio di questa guida, abbiamo detto che seguendo il protocollo HTTP le richieste vengono inviate al server tramite la digitazione di URL indicanti i percorsi che รจ necessario percorrere per accedere alle risorse richieste. Ma cosa accade quando non vi รจ completa corrispondenza tra posizione delle informazioni ospitate nel server e URL? Quali metodi vengono utilizzati per soddisfare comunque le richieste dei client?
Se noi digitiamo l’URL “http://www.dominio.ext/informazione.php” o clicchiamo sul link corrispondente, potrebbe accadere che la risorsa che cerchiamo non si trovi piรน o non sia piรน interamente contenuta nel percorso indicato. Grazie ad alcune funzionalitร (le ormai note direttive) di Apache sarร comunque possibile soddisfare la richiesta. Stiamo parlando dell’aliasing e del redirecting.
L’aliasing, basato sulla direttiva alias, non รจ altro che un processo di translazione delle URL. Il percorso indicato dal client sarร valido anche per l’accesso ad informazioni allocate esternamente rispetto alla DocumentRoot.
L’aliasing รจ un sistema vantaggioso sia per il client che vede la sua richiesta soddisfatta in modo trasparente, sia per la sicurezza del Web server che puรฒ gestire risorse al di fuori dello spazio accessibile dal Web rendendole quindi meno esposte ad intenzioni malevole.
L’aliasing si ottiene passando alla direttiva alias sia l’URL che verrร digitata dal client per la richiesta, sia il percorso reale che indica l’effettiva posizione delle risorse.
Quindi se una determinata risorsa, ad esempio un’immagine, verrร richiesta tramite l’URL http://www.sito.ext/img.gif e quest’ultima si trova invece in una posizione esterna alla DocumentRoot, come ad esempio “PATH/img.gif”, basterร passare entrambe le informazioni come parametri ad alias per ottenere il risultato desiderato.
La direttiva redirect รจ gestita dallo stesso “modulo” di alias, mod_alias, ma si comporta in modo differente. Con redirect, infatti, l’URL digitato tramite il client non verrร traslato ma sostituito da uno nuovo. Questo fenomeno รจ molto noto presso i navigatori di Internet; spesso, infatti, capita di dirigerci verso una determinata pagina ed essere rediretti verso altri documenti.
Per permettere il redirect, possiamo passare all’omonima direttiva tre parametri:
- status: indica il messaggio inviato al client all’atto del redirect; puรฒ essere “temp”, quindi temporaneo, “permanent”, se definitivo o “gone” quando invece di un redirect si ha una situazione di irreperibilitร della risorsa.
- prefisso (prefix URL): punto di partenza necessario per dar vita al redirect.
- URL di destinazione.
Un esempio di redirect potrebbe essere questo:
Redirect temp /nome_cartella http://www.sito.ext/cartella_di_destinazione/
In conclusione, l’uso corretto delle directive alias e redirect puรฒ non solo semplificare la navigazione per gli utenti ma anche incrementare la sicurezza del server. Una configurazione ottimale di Apache permette una gestione fluida delle risorse, assicurando che le richieste dei client siano sempre soddisfatte efficacemente.