Lato server
# Lato server

Nelle reti informatiche, l'espressione lato server (server-side in inglese) fa riferimento a operazioni compiute dal server in un ambito client-server contrapponendosi a tutto ciò che viene eseguito sul client (lato client).

Di solito un server è un programma software (ad es. un server web), che gira su una macchina remota (chiamata per estensione "server") rimanendo in ascolto su determinate porte e raggiungibile da un computer client. Alcune operazioni devono essere compiute dal lato server perché richiedono l'accesso a informazioni o funzionalità non disponibili sul client, o richiedono misure di sicurezza che sarebbero inaffidabili se eseguite lato client.

Le operazioni lato server includono anche trattamento e immagazzinamento di dati da client a server, perché possano essere disponibili ad un gruppo di client. Ad esempio si indica con questo termine il database management system (DBMS) centralizzato o distribuito che permette di memorizzare, modificare ed estrarre informazioni da un database. Rappresenta dunque il back-end di un sistema informatico e di un'applicazione web con architettura multi-tier.

## Storia

Questo termine è nato con l'avvento del web: in una rete locale il server è l'elaboratore che svolge funzioni di servizio così ad alleggerire gli elaboratori collegati.

## Descrizione

### Servizio

Uno dei principali servizi forniti lato server è quello di gestire il database tramite il DBMS con il server al centro che fa da interfaccia con il lato utente (architettura three-tier).

Un altro tipico servizio è l'elaborazione della logica di business in un'applicazione web costruita con architettura multi-tier. Sotto quest'ottica la programmazione web lato server è una parte dell'intera programmazione web.

### Linguaggi di programmazione lato server

Nell'ambito della programmazione Web, si definiscono linguaggi lato server quei linguaggi di programmazione che vengono interpretati ed elaborati dal server il quale, successivamente, invia i risultati al client (il browser dell'utente). I linguaggi lato server più diffusi sono il PHP, l'ASP e jsp (java server page). Un programma scritto con questo tipo di linguaggi viene sempre elaborato sul server e mai reso disponibile all'utente, il quale può visualizzare solo il risultato o output del programma (tipicamente codice HTML). Questo concetto è molto importante in quanto sta alla base della sicurezza e dell'affidabilità offerti dalla programmazione lato server.

### Esempio

Wikipedia usa script lato client per la modifica delle pagine, puoi provare tu stesso con il pulsante Modifica o Anteprima (sandbox). Premendo pubblica modifiche, invece, la modifica sarà mandata al server che la salverà nel suo database (lato server), rendendo disponibile la modifica agli altri utenti.

