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)[1][2][3].
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[2].
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[4]) 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[5] 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[6][7]).
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[8][9].
Esempio
Wikipedia usa script lato client per la modifica delle pagine, puoi provare tu stesso con il pulsante Modifica o Anteprima (sandbox)[10]. 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.
Note
- ^ (EN) web development - What are the differences between server-side and client-side programming?, su Software Engineering Stack Exchange. URL consultato il 1º ottobre 2022.
- ^ a b (EN) Rick Lehtinen, Sr G. T. Gangemi e Deborah Russell, Computer Security Basics, "O'Reilly Media, Inc.", 2006, ISBN 978-0-596-00669-3. URL consultato il 1º ottobre 2022.
- ^ alpinesecurity.com (PDF)[collegamento interrotto].
- ^ (EN) Database Management System (DBMS), su SearchDataManagement. URL consultato il 1º ottobre 2022.
- ^ (EN) Introduction to the server side - Learn web development | MDN, su developer.mozilla.org. URL consultato il 1º ottobre 2022.
- ^ Cos'è l'architettura three-tier, su www.ibm.com. URL consultato il 1º ottobre 2022.
- ^ 3-tier, n-tier, 3-layer e MVC, su it.linkedin.com. URL consultato il 1º ottobre 2022.
- ^ Vito Lavecchia, Caratteristiche e differenza tra programmazione lato client e lato server, su Informatica e Ingegneria Online, 20 gennaio 2020. URL consultato il 1º ottobre 2022.
- ^ La programmazione web: lato client e lato server, su HTML.it. URL consultato il 1º ottobre 2022.
- ^ Come scrivere su Wikipedia, su Salvatore Aranzulla. URL consultato il 1º ottobre 2022.
Voci correlate
Portale Telematica: accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete