Come funziona Internet? Una semplice domanda la cui risposta svela spesso dinamiche complesse. Il comune fruitore della Rete non ha bisogno di conoscere le meccaniche che regolano il funzionamento del Web, un browser per la navigazione con il quale accedere alle risorse desiderate gli è più che sufficiente.
Lo stesso discorso non può essere applicato a coloro che vogliono fare della creazione e della gestione di pagine web il loro mestiere, per essi è necessario conoscere quali meccanismi entrano in gioco durante la normale attività di navigazione che milioni di persone mettono in atto ogni giorno.
Cerchiamo allora di rispondere alla nostra domanda iniziale: come funziona Internet?
Il Web si basa sul principio del trasferimento di informazioni da un terminale (Host) all’altro attraverso dei sistemi di trasmissione detti protocolli, tra questi HTTP (Hyper text Transfer Protocol) è quello più diffuso. Questo protocollo prevede che l’utente navigatore digitando una URL o cliccando su un link richieda l’accesso a determinate risorse (input); queste risorse, quando disponibili, gli vengono inviate sotto forma di file, generalmente pagine html o immagini (output).
In pratica l’utente grazie al meccanismo delle URL e dei link, non fa altro che indicare attraverso il programma di navigazione (browser) del suo computer (client), il percorso da seguire per raggiungere determinate informazioni contenute in un altro computer (server). Un server è quindi un elaboratore che contiene e fornisce file.
Nel caso specifico dei server Web si parla di computer destinati ad ospitare siti internet, questi ultimi possono essere composti da pagine statiche (semplici pagine .htm e html) o dinamiche (.php, asp..), una distinzione molto importante per l’argomento che andremo a trattare in questa guida: il Web server Apache.
Un Web server non è altro che un software installato in un server con la funzione di elaborare pagine web e generare dinamicamente contenuti.
Le semplici pagine .htm non necessitano di particolari interventi da parte del Web server, il loro codice viene interpretato dal browser del computer client e per questo l’html è definito come un linguaggio client side. Le pagine .php o .asp, contengono dei codici destinati a produrre dei comportamenti e a generare dinamicamente html, perchè ciò sia possibile è necessaria la mediazione di un Web server; PHP e ASP vengono quindi definiti linguaggi server side.
Esemplificando, quando si invia ad un Web server la richiesta di una pagina .htm, statica, esso:
- riconosce la richiesta
- cerca e, se presente, trova la pagina nel computer server
- invia la pagina al browser.
- riconosce la richiesta
- cerca e trova la pagina all’interno del server Web
- esegue le istruzioni contenute all’interno del codice producendo dinamicamente contenuti
- invia la pagina browser.
Nei prossimi capitoli ci occuperemo appunto dell’installazione, della configurazione, della gestione e delle caratteristiche peculiari di Apache, il Web server più utilizzato della rete.