Apache HTTP Server: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 46.255.86.244 (discussione), riportata alla versione precedente di L736E
Riga 1:
{{Avvisounicode}}
{{Software
|Nome = AApache CASOHTTP Server
|Logo = Apache HTTP server logo (2016).png
|DimensioneLogo = 100px
Riga 31:
 
== Storia ==
Il progetto Apache nacque nel [[1995]]. A quel tempo, il server Web più diffuso era il daemon [[Hyper Text Transfer Protocol|HTTP]] pubblico sviluppato da Rob McCool al [[NCSA]] (National Center for Supercomputing Application), Università dell'Illinois.
 
A partire dal [[1994]], lo sviluppo di questo server si era fermato perché il suo autore aveva lasciato l'NCSA. Un gruppo di [[webmaster]] iniziò perciò a sviluppare in maniera autonoma ''[[Patch (informatica)|patch]]'' a tale software.
 
Fu creata una [[mailing list]] e, verso la fine di febbraio del 1995, si costituì il primo gruppo di lavoro dell'Apache Group: otto persone (Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau ed Andrew Wilson) presero come punto di partenza la versione 1.3 del daemon HTTP NCSA e aggiunsero una serie di patch e di correzioni. La prima release pubblica di Apache, la 0.6.2, venne distribuita nell'aprile del [[1995]].
 
Secondo la leggenda, il nome Apache nascerebbe dal fatto che inizialmente il server era semplicemente una raccolta di ''patch'' da applicare al server NCSA e, dal nome amichevole "''a patchy server''", sarebbe quindi nato Apache. In realtà, il nome fu scelto in onore della tribù di nativi americani [[Apache]], come riportano le [http://www.apache.org/foundation/faq.html#name domande frequenti] sul sito ufficiale del progetto.
 
Poco dopo nella versione 0.8.8 fu integrata una nuova architettura server, a cui fu dato il nome in codice di Shambala.
 
La versione 1.0 fu pubblicata il 1º dicembre [[1995]]. Nel giro di un anno, la sua diffusione aveva già superato quella del server NCSA da cui era derivato.
 
La versione 2.0 di Apache venne distribuita durante la conferenza ApacheCon, tenutasi nel marzo [[2000]] a [[Orlando (Florida)|Orlando]], in [[Florida]].
 
Il grande successo di diffusione di questo software è l'indicatore più chiaro della qualità e dell'affidabilità di questo prodotto: secondo un'indagine [http://news.netcraft.com/ Netcraft] del [[2005]], su 75 milioni di siti web, circa 52 milioni utilizzavano Apache e ad ottobre [[2006]] il numero era salito a 60 milioni (69,32% del totale).
 
== Architettura Apache ==
Operativamente, l'architettura è composta da un [[Demone (informatica)|demone]] - in ambiente UNIX - o da un [[Servizio di Windows|servizio]] - in ambiente Microsoft - il quale, sulla base delle impostazioni contenute nel file di configurazione ''httpd.conf'', permette l'accesso a uno o più siti, gestendo varie caratteristiche di sicurezza e potendo ospitare diverse estensioni per pagine attive (o dinamiche), come [[PHP]] o [[Apache Tomcat|Jakarta/Tomcat]].
 
Il [[Web Server]] Apache presenta un'architettura modulare, quindi ad ogni richiesta del [[client]] vengono svolte funzioni specifiche da ogni modulo di cui è composto, come unità indipendenti. Ciascun modulo si occupa di una funzionalità, ed il controllo è gestito dal core.
 
[[File:Apache architettura.png|thumb|upright=1.8|In linea continua il flusso dei dati reale<br />Tratteggiato il flusso dei dati astratto che forma la pipeline]]
 
Al di sopra del ciclo del core un [[Demone (informatica)|demone]] esegue un ciclo di polling, attraverso il quale vengono interrogate continuamente le linee logiche da cui possono pervenire messaggi di richiesta.
 
Il core passa poi la richiesta ai vari moduli in modo sequenziale, usando i parametri di uscita di un modulo come parametri di accesso per il successivo, creando così l'illusione di una comunicazione orizzontale fra i moduli ([[Pipeline software]]).
 
Le principali fasi di cui è composto il ciclo sono:
* '''Translation''': traduce la richiesta del client
* '''Access Control''': controlla le richieste in base ai criteri di autorizzazione
* '''MIME Type''': identifica il tipo di contenuto e decide quali moduli possono contribuire a servire la richiesta
* '''Response''': invia la risposta al client e attiva eventuali procedure
* '''Logging''': tiene traccia di tutto ciò che è stato fatto
 
== Configurare apache ==