Alternative di base

Non e' affatto indispensabile avere un sito dinamico e basato su database ma anzi, a volte potrebbe essere sconsigliato. Come spiegato precedentemente, la scelta di creare un database dietro ad un sito web non e' affatto legata alla domanda "Ho un database da interrogare?"; ci sono molte situazioni in cui, pur non partendo da un database da interrogare, sarebbe molto utile crearlo, in particolare se si pensa a espansioni ulteriori oppure ad un progetto per cui sia necessario gestire in futuro una notevole quantita' di dati.

Nonostante cio', per siti con una quantita' limitata di pagine, il tempo necessario per un'impostazione basata su database e' sicuramente piu' elevato che quello necessario per un'impostazione basata su soluzioni alternative, come ad esempio l'utilizzo di template o l'utilizzo di Server Side Include (SSI).

Sono tecniche che spesso non vengono abbandonate nel caso di siti basati su database, ma che anzi vengono sfruttate al massimo.

Utilizzo di template

Un template e' un modulo che definisce il layout di un documento. Quando si crea un template si definiscono alcuni parametri, come la dimensione della pagina, i margini, i caratteri, che saranno comuni a tutte le pagine che condividono il medesimo template. Con l'uso di un template si puo' determinare quali zone del file saranno editabili e quali invece dovranno essere fisse e quindi applicare il risultato in tutte le pagine che condividono il medesimo template.

Macromedia Dreamweaver, Microsoft FrontPage, Allaire Homesite e molti altri programmi per lo sviluppo di pagine web permettono la creazione e l'uso di template HTML.

I template HTML sono basati sull'impostazione di commenti che delimitano alcune zone della pagina e vengono riconosciuti da un qualche software di sviluppo. Analogamente esistono classi per usare template con il linguaggi di programmazione server side.

La caratteristica principale dei template HTML e' che gli applicativi di sviluppo permettono di aggiornare in modo automatico il contenuto e l'aspetto dei file HTML quando i template su cui sono basati vengono variati. Cio' significa che e' possibile cambiare in pochissimo tempo la forma generale delle pagine di un sito, fermo restando il fatto che e' necessario scaricare nuovamente sul server tutte le pagine che sono state modificate.

Una soluzione di questo tipo e' sicuramente accettabile e ragionevole per i siti di piccole dimensioni, ma risulta molto difficile da gestire per siti piu' grandi.

Utilizzo di Server Side Include

Server Side Include (SSI) e' un meccanismo server side per generare contenuti dinamici, supportato dalla maggior parte dei server (Apache, IIS, NSCSA httpd etc.), anche se con implementazioni in parte differenti. Utilizza tag embedded, che si inseriscono nel codice HTML.

La sintassi generale e' del tipo:

<!--#comando tag="valore"-->

dove

#comando 

puo' essere un qualunque comando supportato dal server web.

Il comando piu' semplice e'

#include

, che permette di includere nel documento corrente del testo HTML scritto in un file separato che, dal lato server, viene unito alla pagina. E' una funzione particolarmente utile per componenti standard e ricorrenti, come l'intestazione (header) e il pie' di pagina (footer) di un documento.

Ecco come si presenta un semplice codice Server Side Include:

<--#include file="nomefile.htm" -->

Il codice, una volta scaricato, viene mantenuto nella memoria cache dal browser. Cio' significa che, quando diverse pagine hanno una sezione in comune, e' possibile avere un accesso ad esse in un tempo significativamente minore.

Funzioni di SSI possono essere utilizzate anche per eseguire dei programmi (generalmente CGI presenti nel server) e inserire i risultati in una pagina HTML.

SSI risulta particolarmente utile quando in un sito molte pagine sfruttano uno stesso template (piu' o meno esplicitamente) poiche' creare un file da includere con i contenuti comuni rende il caricamento delle pagine significativamente piu' veloce.

E' inoltre utile quando molte pagine hanno una parte comune che deve essere aggiornata frequentemente. In questo caso il vantaggio e' quello di impiegare meno tempo per l'aggiornamento: invece di aggiornare tutti i documenti HTML che la contengono, e' sufficiente aggiornare una sola volta questa parte comune.