Server web

Il primo server web sviluppato da Tim Berners-Lee per il CERN su un computer NeXT Cube, esposto nel Globo della Scienza e dell'Innovazione.

In informatica un server web è un'applicazione software che, in esecuzione su un server, è in grado di gestire le richieste di trasferimento di pagine web di un client, tipicamente un web browser[1]. La comunicazione tra server e client avviene tramite il protocollo HTTP, che utilizza la porta TCP 80 (o 8080), o eventualmente la versione sicura HTTPS, che utilizza invece la 443. Su un server web risiedono dunque i siti web tramite hosting. L'insieme di tutti i server web interconnessi a livello mondiale dà vita al World Wide Web[2].

Descrizione[modifica | modifica wikitesto]

Screenshot di Apache Tomcat
Screenshot di HTTP File Server

Teoricamente un qualsiasi dispositivo per cui sia disponibile qualche software che agisca come server web può diventare un server web, ma solitamente i dispositivi che ospitano server web sono sistemi hardware dedicati e ottimizzati a tale scopo. Ad esempio si può installare un server web su un normale PC allo scopo di testare in locale un insieme di pagine web oppure per consentire l'accesso ai propri documenti da altri client host, sia in rete locale, sia via Internet[3].

Il software del server Web è accessibile tramite i nomi di dominio dei siti Web e garantisce la consegna del contenuto del sito all'utente richiedente. Anche il lato software è composto da diversi componenti, con almeno un server HTTP. Il server HTTP è in grado di comprendere HTTP e URL. Come hardware, un server Web è un computer che memorizza il software del server Web e altri file relativi a un sito Web, come documenti HTML, immagini e file JavaScript.

Quando un browser web, come Google Chrome o Firefox, necessita di un file ospitato su un server web, il browser richiederà il file tramite HTTP[4]. Quando la richiesta viene ricevuta dal server web, il server HTTP accetterà la richiesta, troverà il contenuto e lo re-invierà al browser tramite HTTP[5].

Nello specifico, quando un browser richiede una pagina da un server web, il processo seguirà una serie di passaggi. Innanzitutto, un utente specificherà un URL nella barra degli indirizzi di un browser web. Il browser web otterrà quindi l'indirizzo IP del nome di dominio, traducendo l'URL tramite DNS (Domain Name System) o effettuando una ricerca nella sua cache. Questo porterà il browser su un server web. Il browser richiederà quindi il file specifico dal server Web tramite una richiesta HTTP. Il server web risponderà, inviando al browser la pagina richiesta, sempre tramite HTTP. Se la pagina richiesta non esiste o se qualcosa va storto, il server web risponderà con un messaggio di errore. Il browser sarà quindi in grado di visualizzare la pagina web[6].

È inoltre possibile ospitare più domini su un server Web[5].

Esempi di usi del server web[modifica | modifica wikitesto]

I server web spesso fanno parte di un pacchetto più ampio di programmi relativi a Internet e intranet utilizzati per[7]:

Molti server Web di base supportano anche lo scripting lato server, utilizzato per utilizzare script su un server Web in grado di personalizzare la risposta al client. Lo scripting lato server viene eseguito sulla macchina server e in genere ha un ampio set di funzionalità, che include l'accesso al database. Il processo di scripting lato server utilizzerà anche ASP, PHP e altri linguaggi di scripting. Questo processo consente anche la creazione dinamica di documenti HTML[7].

Server web dinamici e statici[modifica | modifica wikitesto]

Un server web può essere utilizzato per servire contenuti statici o dinamici. Statico si riferisce al contenuto mostrato così com'è, mentre il contenuto dinamico può essere aggiornato e modificato. Un server web statico sarà composto da un computer e da un software HTTP. È considerato statico perché il server invierà i file ospitati così come sono a un browser[8].

I browser Web dinamici saranno costituiti da un server web e da altro software come un server di applicazioni e un database. È considerato dinamico perché il server delle applicazioni può essere utilizzato per aggiornare i file ospitati prima che vengano inviati a un browser. Il server web può generare contenuto quando richiesto dal database. Sebbene questo processo sia più flessibile, è anche più complicato[8].

Ad esempio, per produrre le pagine Web finali visualizzate nel browser, il server web potrebbe riempire un modello HTML con il contenuto di un database. Siti come Wikipedia hanno migliaia di pagine web. In genere, questi tipi di siti sono composti solo da pochi modelli HTML e un database compatibile, piuttosto che da migliaia di documenti HTML statici. Questa configurazione semplifica la manutenzione e la distribuzione dei contenuti[7].

Pratiche di sicurezza relative al server web[modifica | modifica wikitesto]

Esistono molte pratiche di sicurezza relative all'uso del server web che le persone possono impostare per rendere la loro esperienza più sicura. Alcuni esempi possono comprendere i seguenti processi:

  • un proxy inverso, progettato per nascondere un server interno e fungere da intermediario per il traffico proveniente da un server interno;
  • restrizione dell'accesso attraverso processi come la limitazione dell'accesso dell'host web alle macchine dell'infrastruttura
  • utilizzo di Secure Socket Shell (SSH);
Diagramma SSH
Diagramma SSH
  • mantenere i server web aggiornati per garantire che essi non siano vulnerabili;
  • monitorare la rete per assicurarsi che non ci siano attività non autorizzate;
  • utilizzo di un firewall poiché può monitorare il traffico HTTP;
  • disporre di un Secure Socket Layer può aiutare a proteggere i dati.

Un server web deve archiviare i file del sito web, ovvero tutti i documenti HTML e le relative risorse, inclusi immagini, fogli di stile CSS, file JavaScript, font e video[9].

Tecnicamente si potrebbero ospitare tutti quei file sul proprio computer, ma è generalmente più conveniente archiviare tutti i file su un server web perché[10]:

  • Un server web è in genere sempre disponibile.
  • Esclusi tempi di crash e altri problemi di sistema, un server web dedicato è sempre connesso a Internet.
  • Un server web può avere sempre lo stesso indirizzo IP. Questo è noto come indirizzo IP dedicato, anche se non tutti gli ISP forniscono un indirizzo IP fisso per le linee domestiche.
  • Un server web è in genere gestito da una terza parte.

Scalabilità[modifica | modifica wikitesto]

La scalabilità è verticale e orizzontale. Per scalabilità verticale si intende la creazione di un sistema con molti processori e per orizzontale si intende la combinazione di sistemi informatici in un'unica risorsa di elaborazione virtuale.[11]

Elenco dei server web (software) più diffusi[7][12][modifica | modifica wikitesto]

Apache HTTP server logo
Apache HTTP server logo

Galleria d'immagini[modifica | modifica wikitesto]

Note[modifica | modifica wikitesto]

  1. ^ What is Web Server? Definition of Web Server, Web Server Meaning, su The Economic Times. URL consultato il 27 ottobre 2021.
  2. ^ Struttura del sito corretta. Requisiti, classificazione, SEO, su domhtml.ru.
  3. ^ I server web: cosa sono e perché sono di fondamentale importanza, su laramind.com, 14 giugno 2016. URL consultato il 27 ottobre 2021.
  4. ^ Differenza tra browser Web e server Web, su it.gadget-info.com. URL consultato il 27 ottobre 2021.
  5. ^ a b Cos’è un server web? E con quali software funziona?, su IONOS Digitalguide. URL consultato il 27 ottobre 2021.
  6. ^ server web, su giselda.altervista.org. URL consultato il 27 ottobre 2021.
  7. ^ a b c d (EN) What is a Web Server and How Does it Work?, su WhatIs.com. URL consultato il 27 ottobre 2021.
  8. ^ a b (EN) Difference between Static and Dynamic Web Pages, su GeeksforGeeks, 23 maggio 2019. URL consultato il 27 ottobre 2021.
  9. ^ (EN) How do you upload your files to a web server? - Learn web development | MDN, su developer.mozilla.org. URL consultato il 27 ottobre 2021.
  10. ^ (EN) What is a web server? - Learn web development | MDN, su developer.mozilla.org. URL consultato il 27 ottobre 2021.
  11. ^ Scalabilità del server
  12. ^ (EN) Gustavo Carvalho, Web server examples: The top 5 servers, su Copahost, 10 novembre 2019. URL consultato il 27 ottobre 2021.

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Controllo di autoritàLCCN (ENsh95009237 · BNF (FRcb124996255 (data) · J9U (ENHE987007563780205171