# Web statico

In informatica il Web statico (Web 1.0) è un paradigma di programmazione web caratterizzato, dal punto di vista comunicativo, in un'interazione sostanzialmente unilaterale tra utente e fornitore di contenuti: l'utente può visualizzare i contenuti forniti dall'autore di un sito, tipicamente presenti su web server, ma non può modificare lo stato né le informazioni, appannaggio invece dall'amministratore del sito o del proprietario. Da un punto di vista tecnico i contenuti, siano essi testuali, strutturati e formattati in documenti e fogli di stile, principalmente utilizzando nell'ordine i formati di marcatura HTML e CSS, o audiovisivi, sono memorizzati dal server e non vengono manipolati né da quel lato, prima della trasmissione al browser, né dall'altro, al momento della loro visualizzazione o riproduzione per l'utente.

## Descrizione

Il paradigma è stato il primo ad essere utilizzato nella storia della pubblicazione web, quando la tecnologia rendeva poco conveniente la presenza di programmi che potessero elaborare in tempo reale i contenuti al momento della richiesta da parte dell'utente, ma la semplicità che è intrinsecamente caratteristica in tale limitazione, ha permesso al web statico una longevità che lo vede oggi ancora alquanto diffuso.
L'impaginazione del testo e delle immagini che compaiono nel web browser quando l'utente visita un sito web statico è spesso creata utilizzando un semplice linguaggio noto come Hyper Text Markup Language (HTML): quando un utente visita un sito web, la porzione di testo che è "delimitata" dall'HTML viene trasferita dal sito web al browser dell'utente; il browser interpreta questo testo, mostrando testo ed immagini all'utente. La porzione di testo che viene trasferita è tipicamente chiamata pagina web. Molti visitatori di siti web concepiscono la navigazione in termini di spostamenti "da pagina a pagina" all'interno di un sito. Quando fanno click con il mouse su un collegamento ipertestuale vengono trasportati dai loro browser in un'altra pagina. Quando premono il pulsante Back invece vengono riportati all'ultima pagina che hanno visitato.

### Punti forti

Lo sviluppo di un sito web statico non coinvolge, per definizione, alcuna attività di programmazione lato server, con linguaggi come ASP, .NET, Perl o PHP, ma necessita comunque della predisposizione del server web e della codifica delle pagine nei linguaggi interpretati dai browser: HTML, CSS e JavaScript sono quelli principalmente utilizzati. Lo sviluppo software necessario, quindi, si limita alla visualizzazione dei contenuti ed è alquanto meno oneroso, se confrontato al paradigma dinamico. Similmente, anche ospitare un sito statico è tipicamente meno costoso, non solo perché richiede minimi carichi di CPU per il relativo server e perché non necessita della presenza di database per la separata memorizzazione dei contenuti, ma anche perché le operazioni di messa in opera del sito consistono nella mera copia dei file su quest'ultimo.
Per queste ragioni, i siti statici sono ancora largamente utilizzati per pubblicazioni web di piccola entità, o caratterizzate da scarsa mutevolezza dei contenuti, e che non richiedano interazione con l'utente, come semplici siti informativi o promozionali per singole persone, eventi, servizi o aziende.
Può essere potenzialmente più sicuro di un sito web dinamico (poiché non può essere attaccato con SQL Injection e altri attacchi hacker tipici dei siti dinamici), più veloce (poiché ha molte meno righe di codice di un sito web dinamico) e la struttura non deve essere aggiornata spesso come accade con CMS come WordPress. Gli utenti, non potendosi iscrivere e lasciare dati personali sul sito web, non possono essere vittime di furto di dati, carte di credito, eccetera.

### Punti deboli

Un sito web di questo tipo, detto statico, permette all'utente di accedere alle pagine, navigare tra i vari contenuti, visualizzare immagini e altri media, ma non gli consente di interagire dinamicamente. Vengono di conseguenza escluse forme di partecipazione via web dell'utente in attività quali l'inserimento di commenti in un forum di discussione, la scrittura di post in un blog, la conversazione in chat o la modifica di un wiki. Anche le operazioni di adeguamento dei contenuti all'utente, ad esempio, a seconda dell'ora di connessione, della sua lingua o del browser utilizzato, sono esclusi a causa della limitazione tecnologica. Dal punto di vista dell'autore, infine, anche l'aggiornamento di un sito web statico, ad esempio per l'aggiunta di una nuova pagina o anche solo per la correzione un piccolo errore, richiede infatti di intervenire direttamente sui documenti HTML sorgente ed eventualmente apportando cambiamenti sparsi nell'intero sito.
Per queste ragioni, molti siti web inizialmente pubblicati staticamente sono successivamente migrati verso il web dinamico. Questo secondo paradigma separa le informazioni (o contenuti) dalla struttura di impaginazione del sito, provvedendo a generare tramite linguaggi di scripting la pagina che verrà inviata al client. Questo consente una manutenzione e aggiornamento del sito semplice e veloce ed una maggior interazione dell'utente pur essendo tecnologicamente più complesso di un'implementazione statica.