Su un web server vengono me­mo­riz­za­ti i contenuti presenti sul web e viene garantita la loro rag­giun­gi­bi­li­tà. Quando apri una pagina sul browser, è sempre il web server che invia al tuo computer i singoli com­po­nen­ti di un sito e, affinché il sito sia rag­giun­gi­bi­le in ogni momento, il web server deve essere co­stan­te­men­te online.

Novità: offerta VPS
Il tuo server virtuale a prezzi im­bat­ti­bi­li

Prova il nostro VPS. I primi 30 giorni sono in omaggio e se allo scadere del periodo di prova non sarai convinto, ti rim­bor­se­re­mo tutte le spese sostenute.

Server web: de­fi­ni­zio­ne e storia

Con un web server (chiamato anche server HTTP) si definisce quel tipo di server (parola che deriva dall’inglese: “to serve”, servire) at­tra­ver­so cui vengono diffusi contenuti su internet o in una rete locale. Come parte di una rete di computer, un web server tra­sfe­ri­sce i documenti ai client (“clienti”), come avviene quando si tra­smet­to­no i dati di un sito a un browser.

Con il termine ci si riferisce in genere a due cose diverse, ossia al software di un web server (cioè al programma in sé) o al computer sul quale viene eseguito il software del web server. In quest’ultimo caso il computer viene anche chiamato host (un host può anche com­pren­de­re più programmi). Qui di seguito si parla pertanto di un software per il web server (o programma) o di un host, se si fa espli­ci­ta­men­te ri­fe­ri­men­to a uno dei due si­gni­fi­ca­ti.

Lo sviluppo del web server è legato al fisico bri­tan­ni­co e in­for­ma­ti­co Tim Berners-Lee, che nel 1989 suggerì di rea­liz­za­re in modo più semplice e veloce lo scambio di in­for­ma­zio­ni del CERN (l’Or­ga­niz­za­zio­ne europea per la ricerca nucleare) tramite la gestione di un sistema iper­te­stua­le. Insieme a Robert Cailliau presentò nel 1990 un progetto, dal quale col passare del tempo, oltre al primo web server chiamato “CERN httpd”, ne conseguì anche il primo browser e alcuni pilastri fon­da­men­ta­li del web (come il lin­guag­gio HTML e il pro­to­col­lo HTTP). Per questo motivo Berners-Lee è oggi ri­co­no­sciu­to come il fondatore del World Wide Web.

La tec­no­lo­gia del server web

Il software del server web serve prima di tutto per mettere a di­spo­si­zio­ne i dati per la vi­sua­liz­za­zio­ne di contenuti web, co­mu­ni­can­do perciò con un client (di regola un browser o un crawler).

Quando si vuole aprire un sito web, inserisci sulla barra degli indirizzi del tuo browser il relativo indirizzo internet. Il browser invia una richiesta al server web, che risponde ad esempio con una pagina HTML, salvabile come documento statico sull’host o generata in modo dinamico: ciò vuol dire che il server web deve eseguire il codice di pro­gram­ma­zio­ne (in PHP o Java) prima di inviare la risposta. Il browser in­ter­pre­ta la risposta, che spesso comporta altre richieste al server, per ri­chie­de­re ad esempio immagini incluse o file CSS.

Per la tra­smis­sio­ne dei dati viene uti­liz­za­to il pro­to­col­lo di tra­sfe­ri­men­to HTTP (o la sua variante crit­to­gra­fa­ta HTTPS), che si basa sui pro­to­col­li di rete IP e TCP (più raramente UDP). Un server web può con­se­gna­re con­tem­po­ra­nea­men­te i contenuti di un sito a tanti diversi computer e quindi ai loro browser. La velocità di ela­bo­ra­zio­ne delle richieste degli utenti dipende dall’hardware e dal carico dell’host, ma anche la com­ples­si­tà dei contenuti web ricopre un ruolo im­por­tan­te, perché ad esempio i contenuti dinamici ri­chie­do­no più risorse rispetto a quelli statici.

La scelta del server adatto (e quindi anche la decisione di optare per un server virtuale, dedicato o basato su cloud) impedisce un so­vrac­ca­ri­co del server web, anche se è comunque possibile che il server non sia sempre rag­giun­gi­bi­le. I motivi po­treb­be­ro essere difetti dell’hardware o blackout nel data center in cui si trova il tuo host. Anche se capita raramente, in caso di downtime del server, un sito non è più rag­giun­gi­bi­le in rete, a meno che non sia connesso a una Content Delivery Network (CDN).

Ulteriori funzioni di un server web

Anche se la tra­smis­sio­ne di contenuti è il loro compito prin­ci­pa­le, i server web hanno molte altre fun­zio­na­li­tà:

Ulteriori funzioni del server web
Sicurezza Co­mu­ni­ca­zio­ne protetta tra il server web e il client tramite pro­to­col­lo crit­to­gra­fa­to HTTPS
Au­ten­ti­ca­zio­ne degli utenti Au­ten­ti­ca­zio­ne HTTP per aree spe­ci­fi­che di un’ap­pli­ca­zio­ne web
Rein­di­riz­za­men­to Inoltro di un documento tramite Rewrite Engine
Caching Me­mo­riz­za­zio­ne tem­po­ra­nea di documenti dinamici per ri­spon­de­re più ve­lo­ce­men­te alle richieste e per evitare un so­vrac­ca­ri­co del server web
At­tri­bu­zio­ne di cookie Invio ed ela­bo­ra­zio­ne di cookie HTTP

Insieme a un software per server web, un host può contenere anche altri programmi: per esempio un server FTP per l’upload di file o un server database per contenuti dinamici (anche se un provider di regola met­te­reb­be a di­spo­si­zio­ne diversi hardware). In generale è possibile uti­liz­za­re diversi tipi di server per fini com­ple­ta­men­te diversi: insieme a questi vengono pro­ces­sa­ti anche server di posta, game server o proxy server.

Spe­ci­fi­ca­zio­ne: web server e web hosting

Quale ruolo ricoprono i web server nell’hosting? E che cos’è di preciso il web hosting? I web server sono es­sen­zial­men­te un com­po­nen­te fon­da­men­ta­le dell’hosting, ma spesso non è sempre facile per chi è agli inizi di­stin­gue­re tra i due termini. In questo paragrafo faremo luce sulle dif­fe­ren­ze tra i due concetti.

Con il termine web hosting (spesso ab­bre­via­to in hosting) si indica la me­mo­riz­za­zio­ne e la messa a di­spo­si­zio­ne dei contenuti web. I file di un sito vengono salvati sullo spazio web (lo spazio online per i progetti web), che cor­ri­spon­de­reb­be a un disco fisso, ed è collegato a un web server, in modo che i contenuti (ad esempio di un sito) rimangano sempre di­spo­ni­bi­li online.

Un host (web server inteso come computer) e il relativo spazio web si ottengono da un provider, come ad esempio IONOS. Se decidi di gestire un host au­to­no­ma­men­te da un provider, devi pensare au­to­no­ma­men­te alla sua con­fi­gu­ra­zio­ne e per questo ti serve un programma per il web server.

I software (gratuiti) più uti­liz­za­ti per il web server

Ci sono numerosi programmi at­tra­ver­so i quali puoi gestire un server web, molti dei quali sono di­spo­ni­bi­li gra­tui­ta­men­te su internet. Il software per server web uti­liz­za­to deve essere chia­ra­men­te com­pa­ti­bi­le con il sistema operativo dell’host. La maggior parte dei server web si basa su Unix o Linux (come Apache, NGINX, Tomcat, ecc.), ma fun­zio­na­no anche su Windows. Microsoft IIS rap­pre­sen­ta però un’eccezione, in quanto è in­stal­la­bi­le solo su server Windows.

Qui di seguito ti pre­sen­tia­mo alcuni dei programmi più uti­liz­za­ti per server web.

Apache HTTP Server

Il server Apache HTTP (o sem­pli­ce­men­te server web Apache) è gratuito e svi­lup­pa­to in maniera open source. Il programma modulare funziona su quasi ogni sistema operativo ed è il server web più uti­liz­za­to. È adatto a contenuti dinamici: si possono integrare senza problemi linguaggi di scripting come PHP e tramite in­ter­fac­cia CGI Apache può eseguire altri programmi.

L’in­stal­la­zio­ne di questo programma, benché piuttosto com­pli­ca­ta, è però facile da eseguire, uti­liz­zan­do software come XAMPP: questi rendono l’in­stal­la­zio­ne ancora più semplice. Oltre ad Apache con­ten­go­no inoltre altri software per database e diversi linguaggi di scripting.

Apache Tomcat

Si tratta di un server web open source, svi­lup­pa­to in lin­guag­gio Java. Chi volesse creare contenuti web lato server con Java, trova in Apache Tomcat un giusto con­te­ni­to­re web. Inoltre, tramite con­net­to­re AJP può essere in­cor­po­ra­to in un altro server web (per esempio nel server Apache HTTP o Microsoft IIS).

NGINX

Anche questo software è gratuito e allo stesso tempo è più di un solito server web. NGINX offre tra le altre cose anche un reverse proxy, che al­leg­ge­ri­sce si­gni­fi­ca­ti­va­men­te il server web e lo rende più veloce. In passato NGINX godeva di maggiore po­po­la­ri­tà.

Microsoft IIS

Microsoft Internet In­for­ma­tion Services (IIS) è un pacchetto software in cui rientra anche un server web. In passato IIS era un com­po­nen­te di sistema per Windows Server: questo programma in alcuni sistemi operativi Windows può essere in­stal­la­to in un secondo momento. Non stupisce tuttavia che Microsoft IIS possa essere uti­liz­za­to solo su server Windows.

LiteSpeed Web Server

Si tratta di un software per server web per Linux e Unix, in cui hai la scelta tra una versione open source, una standard gratuita e una per aziende. LiteSpeed Web Server è ap­prez­za­to so­prat­tut­to per la sua velocità nella tra­smis­sio­ne di dati, che chia­ra­men­te è maggiore nella versione a pagamento.

N.B.

La gestione di un software per server web avviene di regola tramite accesso remoto da un altro computer. Il controllo avviene tramite un software di controllo remoto. Con Plesk (uno dei programmi più famosi per l’accesso remoto) è possibile am­mi­ni­stra­re un server web da un computer Windows, Linux o Unix. Di con­se­guen­za puoi per esempio gestire un server Linux tramite un computer fisso Windows e viceversa.

Scegliere il server più adatto e con­fi­gu­ra­re il server web

Se desideri impostare un web server per gestire il tuo progetto web, hai prima di tutto bisogno di un host con uno spazio web adeguato. La tendenza in questo campo è quella di ri­vol­ger­si a un provider, che mette a di­spo­si­zio­ne le risorse server dietro pagamento mensile. Chi non sapesse come am­mi­ni­stra­re un server o avesse poche co­no­scen­ze in materia, può ripiegare sulle offerte di hosting condiviso e di Managed Cloud Hosting, così da riuscire a impostare per­so­nal­men­te il proprio web server.

Al contrario di un server con accesso root, con il quale hai tutti i permessi, ma anche la re­spon­sa­bi­li­tà totale per la sicurezza del server, in un Managed Server il provider si fa carico della maggior parte dei compiti basilari di am­mi­ni­stra­zio­ne. In questo caso non devi pre­oc­cu­par­ti troppo di ag­gior­na­men­ti della sicurezza o dei programmi, ma non ri­nun­ce­rai comunque a scegliere il software che più ti aggrada per il tuo server. Nell’hosting condiviso non devi affatto occuparti degli ag­gior­na­men­ti del software, ma hai solo accesso allo spazio web e alle opzioni di con­fi­gu­ra­zio­ne messe a di­spo­si­zio­ne dal provider.

So­li­ta­men­te affitti un server pagando un costo mensile, che varia a seconda della per­for­man­ce e della varietà dei singoli com­po­nen­ti, come le pre­sta­zio­ni del computer (CPU e RAM), lo spazio web e il tipo di disco fisso (SSD o HDD). Chi pre­fe­ri­sce mantenere un hosting fles­si­bi­le e poter regolare le pre­sta­zio­ni del web server, dovrebbe optare per il cloud hosting, grazie al quale si possono adattare in ogni momento le pre­sta­zio­ni di molti com­po­nen­ti in base alle esigenze attuali del progetto web.

I requisiti necessari per i ri­spet­ti­vi com­po­nen­ti dell’host dipendono dalle richieste del progetto web: piccoli blog o siti creati con l’intento di servire da biglietti da visita online, se la cavano bene anche con pacchetti di hosting più economici e meno per­for­man­ti, mentre grandi portali online o siti con contenuti complessi ri­chie­do­no, invece, dei com­po­nen­ti molto più per­for­man­ti e con de­ter­mi­na­ti requisiti. Inoltre, alcune ap­pli­ca­zio­ni web ri­chie­do­no un volume di tra­sfe­ri­men­to dati maggiore rispetto ad altri. Per andare sul sicuro, puoi scegliere un pacchetto con traffico il­li­mi­ta­to, offerto dalla maggior parte dei provider, così è garantito che siano sempre messe a di­spo­si­zio­ne le giuste capacità per sostenere il traffico dati del proprio progetto.

Una volta che hai trovato il server più adatto alle tue esigenze, puoi im­po­star­vi il tuo server web preferito. Ci sono però alcuni aspetti relativi alla sicurezza che si devono tenere a mente durante l’utilizzo di un Managed Server.

Sicurezza del web server

Dopo aver scelto e impostato il web server, devi fare sempre at­ten­zio­ne che siano in­stal­la­ti gli ag­gior­na­men­ti più recenti. Le versioni datate pre­sen­ta­no delle vul­ne­ra­bi­li­tà che con­sen­to­no, nel peggiore dei casi, ai criminali e agli hacker di ottenere il controllo sul tuo server. Nel Managed Hosting e in quello condiviso è in genere il provider a occuparsi di tutte le misure di sicurezza; in tutti gli altri casi, spetta a te.

Oltre a continui ag­gior­na­men­ti, il firewall risulta un’ottima pro­te­zio­ne contro le vio­la­zio­ni. Anche l’im­po­sta­zio­ne di una zona de­mi­li­ta­riz­za­ta (DMZ) può essere utile e non bisogna di­men­ti­ca­re Fail2ban, un framework che può pro­teg­ge­re dagli accessi non au­to­riz­za­ti.

Un altro principio della sicurezza del web server su cui basarsi è quello che in qualità di am­mi­ni­stra­to­re o am­mi­ni­stra­tri­ce devi ac­con­sen­ti­re solo a quello che è as­so­lu­ta­men­te ne­ces­sa­rio per il tuo server. Chiudi al­tri­men­ti tutte le porte e termina i servizi non necessari. Nella gestione di un server anche l’as­se­gna­zio­ne di password sicure rientra tra le misure di sicurezza es­sen­zia­li. In caso di domande e si­tua­zio­ni di emergenza è molto im­por­tan­te un’as­si­sten­za clienti af­fi­da­bi­le e qua­li­fi­ca­ta, da cui possono trarre vantaggio so­prat­tut­to gli am­mi­ni­stra­to­ri server meno esperti.

Se il tuo provider non si occupa com­ple­ta­men­te della pro­te­zio­ne del tuo server, dovresti possedere le giuste co­no­scen­ze per la gestione del server e una com­pren­sio­ne di base per il fun­zio­na­men­to di un host. Si­cu­ra­men­te puoi anche acquisire queste nozioni, ad esempio provando e imparando con un server in una rete chiusa, dove non devi pre­oc­cu­par­ti degli attacchi di cyber criminali.

Come funziona un server web

Un server web funziona secondo il modello client-server. Per esempio: se desideri visitare il sito di IONOS e vorresti aprire sul tuo browser (sul client) il dominio www.ionos.it, svolgi i seguenti passaggi:

  1. Dopo aver inserito il nome del sito, il tuo browser trasmette prima di tutto l’indirizzo di posta elet­tro­ni­ca a un server DNS. Un name server, che compone il sistema DNS, ha accesso a tutti gli indirizzi internet. Il nome di dominio al­fa­nu­me­ri­co (www.ionos.it) viene con­ver­ti­to in un indirizzo IP numerico, che viene rinviato al browser.
  2. A questo punto il browser effettua una richiesta in merito al contenuto del sito, che appare quando il browser manda l’URL del sito richiesto all’indirizzo IP ricevuto, contatta cioè quel server web che contiene le in­for­ma­zio­ni della pagina.
  3. Il server web risponde alla richiesta rinviando al browser un documento del sito web richiesto. Quindi il browser manda di nuovo una richiesta al server, questa volta per un altro documento che è parte della pagina web richiesta. Questo pro­ce­di­men­to si ripete fino a quando tutti gli elementi della pagina sono stati con­ver­ti­ti e il sito web viene vi­sua­liz­za­to nella finestra del tuo browser. Se adesso clicchi su un link presente sulla homepage di IONOS, viene richiesta al server web un’altra pagina. Pertanto, ri­co­min­cia lo stesso processo.
Consiglio

Su IONOS puoi no­leg­gia­re il tuo server online a con­di­zio­ni van­tag­gio­se per una varietà di progetti (server web, server di posta o la tua ap­pli­ca­zio­ne personale).

Vai al menu prin­ci­pa­le