Attualmente si tende a scaricare
sul computer dell'utente piccoli programmi (Javascript o applet Java ) che svolgano parte dell'elaborazione in locale. Il vantaggio è sia nel tempo di risposta (più veloce perché si attendono meno dati dal server ) sia nel risparmio
di elaborazione centrale, sia di altro tipo (per esempio può essere utile per criptare dati in modo più sicuro o per altro ancora). In sé, quindi, non è una cattiva scelta, però è più pericolosa, perché si basa sull'attrezzatura hardware e software dell'utente, che è variabile .
Per rendere dinamica
una pagina Web, si utilizzano i cosiddetti linguaggi di scripting, che sono dei veri e propri linguaggi di programmazione. Si distinguono dagli altri comuni, e più anziani, linguaggi perché non sono compilati ma interpretati. A seconda dell'interprete si parla di scripting:
Se è il server-Web (Apache, Internet Information Server) che elabora uno script si parla di scripting server-side (SSI, server side include), viceversa, se è il browser (Netscape, Internet Explorer) si parla di scripting client-side. Il linguaggio lato client per eccellenza, ma anche per anzianità, è sicuramente JavaScript.
Quando le operazioni da compiere non sono troppo complesse o troppo pesanti per il browser, si adottano gli script client-side, per esempio, quando occorre validare il contenuto di un campo di testo o realizzare piccole funzioni che sfruttano le informazioni del browser.
La necessità di uno scambio di informazioni più corposo tra il client e il server (quando, per esempio, si consulta una base dati) richiede l'utilizzo di script server-side. Lato server ci sono due modi per risolvere questa esigenza. Il primo è quello di realizzare script CGI, programmi scritti in qualsiasi linguaggio (C, C++, Visual Basic) che eseguono delle operazioni e inviano il risultato di queste sotto forma html al browser. Il secondo, è quello di utilizzare linguaggi di scripting il cui codice è inserito direttamente nella pagine e processato dal server prima di essere inviato al client (ASP, PHP).
Abbiamo così chiarito sommariamente la differenza tra scripting server-side e client-side.
È necessario sottolineare l'importanza di ottenere precise garanzie riguardo alla compatibilità di questi pezzetti di software
che si scaricano sul computer dell'utente. Devono funzionare bene sulle diverse piattaforme (PC, Mac, e Unix) e con diversi browser (Explorer e Netscape delle release più diffuse). Macintosh e Netscape solitamente vengono trascurati perché costituiscono una minoranza, che tuttavia non è trascurabile, soprattutto presso i consumatori e se il sito è destinato a grandi numeri.