Come funziona un server Web Apache?

Internet esiste come un insieme di server Web che ospitano pagine Web a cui gli utenti possono accedere dai propri computer. Questi server devono eseguire il software del server per gestire le richieste degli utenti. Uno di questi pacchetti software, il server Web Apache, offre una soluzione server gratuita per consentire agli sviluppatori di ospitare pagine Web. Come tale, è diventato un popolare programma per l'hosting di siti Web. Il server Apache funziona gestendo le richieste URL al server tramite specifici protocolli di comunicazione in modalità multithreading, estendendosi per funzionare con linguaggi di programmazione e database.

URL e protocollo HTTP

Apache è un software per server Web e come tale gestisce principalmente le richieste dell'Hypertext Transfer Protocol tramite le richieste di indirizzi di Universal Resource Locator. Gli URL sono semplicemente il nome di un sito Web che gli utenti inseriscono nei browser Web per individuare una pagina Web. Quando l'utente immette un URL, il browser invia una richiesta HTTP al computer server che esegue Apache, solitamente sulla porta 80. Il protocollo HTTP è il protocollo di trasferimento dati standard di Internet per le pagine Web, quindi quando un utente effettua una richiesta URL a un Apache server, il server Apache gestirà la richiesta HTTP e restituirà le pagine Web richieste.

Multitasking/Multithreading

Un server Apache gestirà numerose richieste HTTP contemporaneamente. Per fare ciò, il server deve essere eseguito su più "thread" di esecuzione. Un thread è una parte di un programma che si dirama dal programma principale e viene eseguito contemporaneamente per eseguire un'attività specifica. Il server Apache creerà un nuovo thread per ogni richiesta HTTP che gestirà il recupero e la restituzione della pagina Web richiesta. Ciò consente ad Apache di servire pagine Web a più utenti contemporaneamente.

Servizio di programmi e file

Insieme alle pagine Web, il server Apache può consentire agli utenti di scaricare file sui propri computer, che Apache gestirà anche tramite HTTP. Questi includono file audio, file di film o determinati documenti come documenti Word o PDF. Se l'utente richiede un file di programma per un linguaggio di scripting, come PHP, Python o Perl, il server Apache esegue il programma e invia l'output del programma all'utente tramite HTTP. Tuttavia, per elaborare le richieste di documenti contenenti linguaggi di scripting, il server Apache deve aver installato il modulo appropriato per quel linguaggio.

Pacchetti Apache

Il server Apache viene fornito come pacchetto autonomo, come parte di programmi di servizio Web più grandi e completo di moduli per migliorarne le prestazioni. Un'implementazione popolare del server Apache è lo stack "LAMP" (Linux, Apache, MySQL e PHP/Perl/Python). Questa configurazione impacchetta il server Apache con le sue capacità di servizio Web con il database MySQL e linguaggi di scripting come PHP per servire il contenuto del database per siti Web aggiornati come i blog.