I pc client tramite browser richiedono al server una pagina web digitando un certo indirizzo http, il software web server risponde fornendola. Quando viene digitato l’indirizzo http in realtà viene contattato un indirizzo IP ben preciso, grazie ad un servizio chiamato DNS (domain name system) che si occupa appunto di effettuare la risoluzione dei nomi in indirizzo IP e viceversa (chiamata risoluzione inversa); per fare un esempio pratico richiamare l’indirizzo con il nome di dominio ad esempio http://www.google.com equivale a richiamare l’indirizzo http://72.14.234.104.
Questo è uno schema dritto e molto semplice ma potrebbero esistere varie configurazioni, ad esempio con firewall/proxy/VPN interposti tra il client e il server. Semplificando i firewall/proxy sono strumenti utilizzati per proteggere la rete/server (ad esempio bloccando le richieste di determinati pc client) per quanto riguarda la VPN rimando a questo mio articolo aggiungendo anche che la VPN viene spesso utilizzata anche come soluzione per anonimato/bypass firewall/proxy; il pc client non comunica direttamente con il web server ma tramite la VPN che si occupa di effetture la richiesta (con un suo proprio indirizzo IP) e il server che restituisce la pagina web.
Lo schema seguente mostra il pc client 1 la cui richiesta viene bloccata dal proxy in quanto proveniente da un’indirizzo IP che viene filtrato dalle regole del proxy stesso. Il pc client 2 invece effettua una richiesta che viene consentita dal proxy perchè proveniente da un’indirizzo IP non filtrato però viene bloccato dal firewall posto prima del web server perchè la richiesta fatta viene interpretata come malevola (tentativo di intrusione). Il pc client 3 effettua la richiesta tramite una VPN che bypassa il filtro del proxy (supponendo che l’indirizzo IP del pc client 3 venga bloccato) e non viene bloccata dal firewall in quanto si tratta di una richiesta “legittima”, il server risponde fornendo la pagina web.
I nomi di dominio sono identificati per tipo:
dominio di primo livello in inglese top-level domain abbreviato in TLD, è l’ultima parte del nome di dominio internet; è in altre parole la sigla alfanumerica che segue il ‘punto’ più a destra dell’URL (ad esempio www.google.it è it)
dominio di secondo livello è la parte che precede il dominio di primo livello nel nome di dominio internet (esempio google.it)
i domini di terzo livello sono noti anche come sottodomini e CNAME. In un URL il sottodominio precede il nome di dominio (esempio http://mail.google.com)
esistono anche i domini di quarto livello che sono nomi a dominio con un livello in più (ad esempio http://quartolivello.terzolivello.google.com)
Un sito web può girare su vari tipi di sistema operativo (Windows, Linux, Mac), su vari tipi di server web (esempio Apache, Internet Information Server detto comunemente IIS) e su varie soluzioni hardware in base alle esigenze e al tipo di sito (hosting condiviso, dedicato, virtuale); a riguardo consiglio la lettura di questo bell’articolo di Robin Good sulle tipologie di web hosting.
Per finire un breve accenno sulla differenziazione tra siti web statici e dinamici.
I primi, ormai sempre più in disuso, sono realizzati con linguaggi e tecnologie che forniscono i contenuti di una pagina web così come sono stati creati (vedi un esempio). I secondi invece sono realizzati con linguaggi e tecnologie (i più comuni ed utilizzati sono ASP e PHP) che forniscono il contenuto dinamicamente ed essi sono sempre più diffusi grazie alle tante varie applicazioni di gestione dei contenuti (CMS).