Navigare un sito web statico significa semplicemente interrogare un server tramite un browser (o, più genericamente, un client web) e visualizzare sul proprio computer le informazioni che il server dà come risposta, solitamente in formato HTML. Il server ospita i file HTML, le immagini e tutto ciò che compone ogni singola pagina; il navigatore accede a tali informazioni banalmente sfogliando i file nei quali esse sono contenute.
Per i siti web dinamici lo scopo finale è lo stesso: fornire informazioni in formato interpretabile da un browser. Cambia invece il processo che restituisce queste informazioni. Il contenuto di un sito web dinamico, infatti, non è più quello che “fisicamente" risiede sul server (ad esempio, in una pagina HTML) ma esso viene generato in base ad una serie di parametri, comandi e condizioni che il server si preoccupa di valutare ad ogni richiesta che arriva dal browser. Una volta impacchettata in un formato interpretabile dal client (come l’HTML appunto), la pagina generata può venire visualizzata tranquillamente dal visitatore.
Si parla di “generazione" di pagina “dinamica" perché un software installato sul server è in grado di creare, dinamicamente e a seconda delle richieste del browser, pagine con contenuto variabile. Questo software si chiama application server, mentre web server è quello adibito ad inviare al client la pagina generata.
Il contenuto può risiedere in semplici file, ma anche in database o altre
fonti di dati. Può essere il risultato di una elaborazione matematica,
oppure una serie di informazioni provenienti da server remoti. In questa maniera
è possibile separare il contenuto dalla sua visualizzazione, lasciando
all’application server il lavoro di unire le informazioni per renderle
accessibili dal client.
La programmazione server side si occupa di "istruire" l’application server nella generazione delle pagine grazie ad un linguaggio specifico. In questo corso, studieremo il CFML, l’ambiente di sviluppo interpretato da ColdFusion, l’application server di Macromedia.
Per ColdFusion, ma anche per gli altri application server, come ASP o PHP, vale il seguente schema, che esemplifica il processo di generazione di una pagina dinamica e i ruoli che assumono web server e application server.