Server in inglese significa “servire”, viene infatti dal verbo “to serve”. In ambito informatico è un componente che elabora informazioni e fornisce un servizio ad altri componenti detti clients che ne fanno richiesta attraverso una rete di computer; rappresenta il nodo terminale della rete (host). Per essere più chiari, possiamo definire il server un vero e proprio computer che elabora richieste provenienti da altri computer (i clients), restituendo dei servizi, fungendo da host (padrone di casa). Semplificando ancora di più: il server è un pc collegato ad una rete e permette ad altri pc (detti clients) di accedere ai suoi servizi grazie ad un software. E’ anche chiamato host da cui deriva il “servizio di hosting”, quel servizio cioè che ci permette di avere un luogo dove conservare i file di un sito web che abbiamo creato.
Un esempio pratico: quando visitiamo un sito web dal nostro smartphone, lo smartphone rappresenta il client, il sito web che ci viene mostrato è il risultato di una richiesta al server che lo ospita.
N.B Il server può essere inteso sia come hardware che come software, può essere infatti:
un computer ordinario utilizzato per fornire servizi ad altri computer
un computer di mercato dedicata all’uso come server
un processo (programma in esecuzione) che fornisce servizi ad altri processi
Un server inteso come hardware può ospitare uno o più servizi, può quindi implementare più server. Ogni server può essere iterativo, cioè può soddisfare una sola richiesta alla volta seguendo un processo a coda di attesa oppure concorrente, capace cioè di soddisfare più richieste da parte di più client seguendo un processo di multithreading. I server funzionano in modalità richiesta/risposta.
LE DIVERSE FUNZIONI DI UN SERVER
I server possono svolgere diverse funzioni, vediamo le più importanti:
- il web server: archivia i file di un sito web mettendolo a disposizione dei client. La comunicazione tra server e client avviene attraverso il protocollo Http / Https
- dns server: è la funzione che permette di registrare il nome di un dominio (domain name server). Questa funzione serve per tradurre l’indirizzo Ip in un nome di dominio.
- database server: è il luogo ove vengono conservati effettivamente i dati di un sito che vengono messi a disposizione.
- mail server: è la funzione che consente l’invio, la ricezione e l’archiviazione delle mail attraverso un protocollo chiamato SMTP
- file server: funzione di archiviazione file che vengono condivisi con i client
- game server: utilizzato in ambito videogame, serve a sincronizzare le azioni di tutti i giocatori e a memorizzare i dati di gioco
- proxy server: svolge la funzione di “intermediario” per il flusso delle informazioni tra client e server.
Terminiamo questa scheda parlando della virtualizzazione dei servizi. Oggi infatti è molto diffusa la virtualizzazione delle macchine server e parliamo in questo caso di server cloud. Il cloud server è rappresentato da diversi computer tra loro collegati che ospitano porzioni di dati suddivisi.