Web server come macchina
In informatica, la parola “server web” si riferisce sia a una macchina fisica che a un software. Nel primo caso si tratta di un computer connesso a Internet e che ospita risorse. Queste risorse possono essere file, programmi o database.
Che aspetto ha un server?
In generale, i server sono computer progettati per soddisfare i vincoli inerenti al loro funzionamento:
- Limitare il consumo di elettricità (una delle maggiori sfide attuali, sia dal punto di vista ecologico che economico).
- Massimizzazione della disponibilità (un server guasto ha gravi conseguenze).
- Massimizzazione delle prestazioni.
Per soddisfare questi vincoli, i server vengono spogliati di tutte le periferiche non necessarie: schermo, mouse, tastiera, ecc. Hanno spesso unità di archiviazione ridondanti e sono controllati dalla riga di comando e non con un’interfaccia grafica, che consuma risorse software. L’immagine classica di un server è un cabinet per schede elettroniche montato su rack, ma nulla impedisce che il PC desktop venga utilizzato per questo scopo. Esistono anche server specifici, adattati ad esempio all’utilizzo dei privati. È il caso dei server NAS , che possono archiviare dati, ma anche ospitare in casa un sistema di videosorveglianza.
Esempio di server negli armadi in una stanza – Photo credit: © Sashkin – Fotolia.com
I server Web si trovano raramente nelle case private. Sono generalmente noleggiati da fornitori specializzati chiamati host web . Questi fornitori di servizi raggruppano così migliaia di macchine in stanze dedicate chiamate datacenter .
Server come software
Nella sua accezione software, un server web è un insieme di programmi utilizzati per eseguire e rendere pubblico un sito Web o un’applicazione Web, molto utile nel campo dello sviluppo web e mobile . Questo insieme può essere composto da:
- Un server http: in parole povere, è il software che garantirà la comunicazione tra un computer client (quello di un visitatore del sito ad esempio) e il server fisico (la macchina). Per questo utilizza il protocollo http, che standardizza questa comunicazione. Il più famoso di questi è Apache.
- Un server database, utile per creare applicazioni web cosiddette “dinamiche” (al contrario di siti statici, hard-coded). Uno dei più conosciuti è MySQL.
- Da un linguaggio di scripting, come PHP o Python.
La combinazione di server software Linux / Apache / MySQL / PHP (LAMP) è la più comune, ma ce ne sono molte altre (IIS e Zope per esempio).