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 "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:
Redirect temp /nome_cartella http://www.sito.ext/cartella_di_destinazione/