Nel Laboratorio di Scienze e Tecnologie Informatiche, quando si parla di linguaggi per la programmazione lato server a livello applicativo, si fa riferimento ai linguaggi e alle tecnologie usate per sviluppare la logica delle applicazioni web o software che viene eseguita sul server e non direttamente sul computer dell’utente.
1. Cos’è la programmazione lato server.
La programmazione lato server (server-side) riguarda tutte le operazioni che vengono eseguite sul server prima che i risultati vengano inviati al client (browser o applicazione).
Compiti principali. Il server si occupa di:
- elaborare richieste degli utenti
- gestire basi di dati
- autenticare utenti
- generare pagine web dinamiche
- applicare logiche applicative
- garantire sicurezza e controllo accessi
Differenza tra lato client e lato server.
| Lato client | Lato server |
| Funziona nel browser | Funziona sul server |
| HTML, CSS, JavaScript | PHP, Java, Python, Node.js ecc. |
| Gestisce interfaccia grafica | Gestisce dati e logica applicativa |
2. Architettura tipica di un’applicazione web. Generalmente si usa un’architettura a tre livelli:
– Presentazione
- Interfaccia utente
- HTML, CSS, JavaScript
– Logica applicativa
- Regole e funzionamento del sistema
- Linguaggi lato server
– Gestione dati
- Database
- SQL
3. Principali linguaggi lato server.
PHP
È uno dei linguaggi più diffusi nello sviluppo web.
Caratteristiche
- semplice da imparare
- integrato con HTML
- molto usato con MySQL
- open source
Esempio
<?php
echo “Ciao utente!”;
?>
Java (Servlet e JSP).
Caratteristiche
- molto robusto
- usato in applicazioni aziendali
- supporta architetture complesse
- utilizza framework come Spring
Python.
Molto usato nello sviluppo moderno.
Framework principali
- Django
- Flask
Vantaggi
- sintassi semplice
- rapido sviluppo
- grande diffusione
JavaScript lato server (Node.js).
Permette di usare JavaScript anche sul server.
Caratteristiche
- elevata velocità
- adatto ad applicazioni in tempo reale
- usa framework come Express
C# (ASP.NET).
Molto diffuso nel mondo Microsoft.
Caratteristiche
- potente e strutturato
- integrato con .NET
- adatto a sistemi aziendali
4. Tecniche di programmazione lato server.
Gestione richieste http.
Il server riceve richieste tramite protocolli web:
- GET → richiede dati
- POST → invia dati
Gestione sessioni.
Permette di mantenere informazioni sugli utenti collegati.
Esempi:
- login utente
- carrello acquisti
Interazione con database.
Il server:
- esegue query SQL
- salva dati utenti
- recupera informazioni
Generazione contenuti dinamici.
Le pagine vengono create in base ai dati ricevuti.
Validazione dati.
Serve per controllare che i dati inseriti siano corretti e sicuri.
Sicurezza.
Tecniche fondamentali:
- autenticazione
- autorizzazione
- protezione da attacchi (SQL injection, XSS)
5. Framework lato server.
I framework facilitano lo sviluppo fornendo strumenti già pronti.
Esempi
- Laravel → PHP
- Django → Python
- Spring → Java
- Express → Node.js
- ASP.NET → C#
6. Comunicazione client-server.
Il funzionamento avviene tramite:
- Il client invia richiesta
- Il server elabora
- Il server accede al database
- Il server invia risposta
7. Concetti che normalmente devi conoscere per LSTI.
Devi saper spiegare:
- Cos’è la programmazione lato server
- Differenza tra client e server
- Linguaggi principali
- Framework
- Interazione con database
- Gestione sessioni
- Sicurezza applicativa
- Architettura web
8. Esempio reale di funzionamento.
Login in un sito web
- L’utente inserisce username e password
- I dati vengono inviati al server
- Il server controlla nel database
- Il server restituisce il risultato
