Lo scripting lato server è un termine utilizzato principalmente per fornire contenuti personalizzati tramite il protocollo di trasferimento ipertestuale (HTTP) su un server Web facendo eseguire al server piccoli programmi. Questi programmi, solitamente scritti in un linguaggio di scripting, vengono eseguiti dal server quando arriva una richiesta del client. A seconda dei parametri forniti dal client al momento della richiesta, lo script genera quindi una pagina Web per il client. Le pagine Web create in questo modo vengono spesso chiamate pagine dinamiche. Questo è in contrasto con uno script lato client che viene inviato dal server al client richiedente e quindi eseguito.
Le prime tecniche di scripting lato server sono nate per fornire contenuto unico per l’utente che effettua la richiesta, oltre a risparmiare tempo riducendo la modifica manuale dei documenti HTML (Hypertext Markup Language). Gli script lato server erano spesso piccoli file eseguibili contenenti una serie di comandi da passare al sistema operativo. Il demone web, il software che esegue il server web, utilizzerebbe questi script di shell per eseguire ulteriormente un programma aggiuntivo che risiede sul computer host. Questa tecnica generale è stata poi definita nel 1993 nello standard Common Gateway Interface (CGI) sviluppato dalla Internet Engineering Task Force (IETF). Nella maggior parte dei casi, questi primi script CGI venivano utilizzati per inviare le risposte del database dal server al client richiedente.
Con lo sviluppo di linguaggi di scripting interpretati, come Perl e PHP: Hypertext Preprocessor (PHP), si sono evoluti anche i metodi di scripting lato server. I daemon HTTP sono stati aggiornati per includere estensioni d’uso che consentissero di chiamare questi vari linguaggi di scripting dal demone web stesso, invece di essere passati al sistema operativo sull’host. Con questa aggiunta, all’interno del documento HTML potrebbero essere inclusi frammenti di linguaggio di scripting. Mentre il server Web legge un documento prima di inviarlo attraverso il Web, verifica ed esegue qualsiasi script all’interno del documento.
Poiché il contenuto richiamato dallo scripting lato server risiede in un database, può essere praticamente qualsiasi cosa. Contenuti come descrizioni di prodotti, variazioni di prezzo, voci di blog, immagini e persino formattazione sono archiviati nel database. È anche possibile nidificare uno snippet di script lato server all’interno di un altro, in cui il primo script acquisisce determinati dati dal database, ma chiama anche un secondo script che accede ai dati secondari. Ciò è utile, ad esempio, quando si forniscono contenuti standard abbastanza personalizzati con contenuti nidificati aggiuntivi che possono essere sensibili al fattore tempo o ancora sconosciuti, come i commenti su una voce del blog. La manutenzione del sito Web, quindi, comporta l’aggiornamento dei dati nel database, che influirà quindi su ogni pagina del sito Web con lo script incluso per chiamare quei dati.
Molte delle tecniche di scripting lato server sono state ulteriormente sviluppate in quelli che sono noti come sistemi di gestione dei contenuti (CMS). PHP è probabilmente il linguaggio più utilizzato per questo scopo, in esecuzione al centro di molte implementazioni CMS. Qui, un utente che gestisce un sito Web in esecuzione su un CMS modificherà i suoi documenti HTML per includere i cosiddetti tag. I tag sono essenzialmente segnali al CMS per dirgli quale script includere nel documento. Il CMS può quindi essere personalizzato creando script aggiuntivi e i tag associati.