prof. Nunzio Brugaletta |
LinPROG |
I programmi compilati, come già notato, sono veloci ma non portabili. In ambienti con piattaforme che variano spesso o non conosciute, è necessario utilizzare interpreti. Le applicazioni di rete hanno queste caratteristiche e, inoltre, un programma compilato non è, per motivi di sicurezza, ben accetto: il programma potrebbe avere dei bug o funzionalità nascoste (backdoor) che possono compromettere il funzionamento dei servizi forniti o interferire con gli utenti. Inoltre in un ambiente di rete non è possibile sfruttare la velocità di un programma compilato, la sua caratteristica fondamentale. In ambiente Client/Server il problema principale è la comunicazione fra due processi residenti in computer anche distanti fra di loro.
Nelle applicazioni per computer sono, si può dire, da sempre esistiti linguaggi interpretati utilizzati per effettuare in automatico determinate operazioni. Si tratta dei cosiddetti linguaggi di scripting: un file di testo (lo script) contiene le istruzioni che saranno eseguite da un interprete. Dato il notevole sviluppo delle reti in generale, e di internet in particolare, i linguaggi di scripting si sono evoluti diventando molto potenti e paragonabili agli altri linguaggi di programmazione.
Nelle tecnologie web uno script può esistere in un file autonomo (stand-alone) o inglobato all'interno di una pagina web, nel codice HTML (embedded).
In ambiente di rete si distingue fra:
Scripting lato client (client-side). Lo script è eseguito dall'interprete che, stavolta, è il browser che richiede la pagina HTML, la visualizza sul monitor dell'utente ed esegue, se presenti, le istruzioni contenute nello script. Il server interviene soltanto nell'invio della pagina richiesta.
Scripting lato server (server-side). Lo script è passato dal web server all'interprete che lo esegue e che prepara la pagina web da inviare, da parte del web server, al client che ne ha fatto richiesta.
La distinzione fra elaborazione client-side e server-side negli ambienti di rete è dovuta alla esigenza di non gravare il server, fin quando possibile, con elaborazioni che possono essere svolte dal client evitando un sovraccarico della rete.
http://ennebi.solira.org |
ennebi@solira.org |