Server web

Panoramica

Web serverè un computer in cui è archiviato il contenuto web. Fondamentalmente il server Web viene utilizzato per ospitare i siti Web ma esistono anche altri server Web come giochi, archiviazione, FTP, e-mail ecc.

Il sito web è una raccolta di pagine web mentre il server web è un software che risponde alla richiesta di risorse web.

Web server funzionante

Il server Web risponde alla richiesta del client in uno dei due modi seguenti:

  • Invio del file al client associato all'URL richiesto.

  • Generazione di risposte invocando uno script e comunicando con il database

Key Points

  • Quando il client invia una richiesta per una pagina Web, il server Web cerca la pagina richiesta se viene trovata la pagina richiesta, quindi la invia al client con una risposta HTTP.

  • Se la pagina web richiesta non viene trovata, il server web invierà un HTTP response:Error 404 Not found.

  • Se il client ha richiesto altre risorse, il server Web contatterà il server delle applicazioni e l'archivio dati per creare la risposta HTTP.

Architettura

L'architettura del server Web segue i due approcci seguenti:

  1. Approccio concorrente

  2. Approccio basato su un singolo processo basato sugli eventi.

Approccio concorrente

L'approccio simultaneo consente al server Web di gestire più richieste client contemporaneamente. Può essere ottenuto con i seguenti metodi:

  • Multi-process

  • Multi-threaded

  • Metodo ibrido.

Multi-elaborazione

In questo un singolo processo (processo padre) avvia diversi processi figlio a thread singolo e distribuisce le richieste in arrivo a questi processi figlio. Ciascuno dei processi figlio è responsabile della gestione della singola richiesta.

È responsabilità del processo genitore monitorare il carico e decidere se i processi devono essere interrotti o biforcati.

Multi-threaded

A differenza di Multi-processo, crea più processi a thread singolo.

Ibrido

È la combinazione dei due approcci precedenti. In questo approccio vengono creati più processi e ogni processo avvia più thread. Ciascuno dei thread gestisce una connessione. L'utilizzo di più thread in un unico processo comporta un minor carico sulle risorse di sistema.

Esempi

La tabella seguente descrive i server Web più importanti disponibili oggi:

SNDescriptino server Web
1Apache HTTP Server
Questo è il server web più popolare al mondo sviluppato da Apache Software Foundation. Il server web Apache è un software open source e può essere installato su quasi tutti i sistemi operativi inclusi Linux, UNIX, Windows, FreeBSD, Mac OS X e altri. Circa il 60% delle macchine server Web esegue il server Web Apache.
2.Internet Information Services (IIS)
Internet Information Server (IIS) è un server Web ad alte prestazioni di Microsoft. Questo server web funziona su piattaforme Windows NT / 2000 e 2003 (e potrebbe essere presente anche sulla nuova versione di Windows in arrivo). IIS viene fornito in bundle con Windows NT / 2000 e 2003; Poiché IIS è strettamente integrato con il sistema operativo, è relativamente facile amministrarlo.
3.Lighttpd
Il lighttpd, pronunciato lighty è anche un server web gratuito distribuito con il sistema operativo FreeBSD. Questo server web open source è veloce, sicuro e consuma molta meno potenza della CPU. Lighttpd può anche essere eseguito su sistemi operativi Windows, Mac OS X, Linux e Solaris.
4.Sun Java System Web Server
Questo server Web di Sun Microsystems è adatto per siti Web di medie e grandi dimensioni. Sebbene il server sia gratuito, non è open source. Tuttavia, funziona su piattaforme Windows, Linux e UNIX. Il server Web Sun Java System supporta vari linguaggi, script e tecnologie richiesti per Web 2.0 come JSP, Java Servlet, PHP, Perl, Python e Ruby on Rails, ASP e Coldfusion ecc.
5.Jigsaw Server
Jigsaw (server W3C) proviene dal World Wide Web Consortium. È open source e gratuito e può funzionare su varie piattaforme come Linux, UNIX, Windows e Mac OS X Free BSD ecc. Jigsaw è stato scritto in Java e può eseguire script CGI e programmi PHP.