Web Statico
Il modello che abbiamo visto finora, basato sul concetto di ipertesto distribuito, ha una natura essenzialmente statica
Anche se l’utente può percorrere dinamicamente l’ipertesto in molti modi diversi, l’insieme dei contenuti è prefissato staticamente:
- le pagine su cui può viaggiare sono preparate staticamente a priori
- non esistono contenuti composti dinamici in base all’interazione con l’utente
- è un modello semplice, potente, di facile implementazione, efficiente, ma presenta evidenti limiti
Soluzione
<aside>
<img src="/icons/exclamation-mark_purple.svg" alt="/icons/exclamation-mark_purple.svg" width="40px" /> Separare gli aspetti di contenuto da quelli di presentazione
</aside>
Modello web dinamico

Questa architettura presenta numerosi vantaggi ma soffre anche di diversi problemi:
- prestazioni: ogni volta che viene invocato un programma si crea un processo che viene distrutto alla fine dell’elaborazione
- ogni programma deve reimplementare tutta una serie di parti comuni (mancanza di moduli di base accessibili a tutti i programmi lato server): accesso al DB, logica di interpretazione delle richieste HTTP e di costruzione delle risposte, gestione dello stato, ..
- si potrebbe realizzare un solo programma che implementa tutte e quattro le funzionalità, in questo modo però si ha un’applicazione monolitica e si perdono i vantaggi della modularità
- scarse garanzie sulla sicurezza