4 Creare contenuti per il web - Andrea Giachetti
4 Creare contenuti per il web - Andrea Giachetti
4 Creare contenuti per il web - Andrea Giachetti
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
26<br />
sempre attivo un programma servente che si chiama httpd (HTTP Daemon). Il cliente (ad<br />
esempio Internet Explorer) invia la richiesta "GET http://elvira.univr.it/index.html" ed <strong>il</strong> server<br />
HTTP cercherà <strong>il</strong> documento (f<strong>il</strong>e) corrispondente e lo invierà al cliente. Notare che <strong>il</strong> server<br />
non fa nulla finché non arriva una richiesta del client.<br />
Il server HTTP (httpd) è sempre in ascolto e può servire più client contemporaneamente (cioè<br />
più utenti possono fare richieste contemporanee). Se richiesto da opportune istruzioni contenute<br />
nel documento (f<strong>il</strong>e) al quale si vuole accedere, httpd può attivare altri processi (es. <strong>il</strong><br />
programma che conta <strong>il</strong> numero di accessi). Infine httpd registra ogni richiesta (<strong>il</strong> nome della<br />
macchina chiamante, non l'identificativo dell'utente) in un opportuno f<strong>il</strong>e (logf<strong>il</strong>e) che serve a<br />
fini statistici o <strong>per</strong> controllare <strong>il</strong> verificarsi di errori che impediscano agli utenti una corretta<br />
lettura dei documenti.<br />
Architettura peer-to-peer<br />
L'architettura client-server è tipica di quasi tutti i servizi che possiamo fornire o usare su<br />
Internet, ma esistono alcune eccezioni, come i cosiddetti servizi peer to peer.<br />
Si dice peer to peer una rete in cui i nodi sono tutti equivalenti. In tale rete due applicazioni su<br />
due computer diversi possono indifferentemente iniziare una comunicazione, a differenza del<br />
caso client-server, in cui <strong>il</strong> cliente fa sempre la richiesta. Questo avviene, <strong>per</strong> esempio, nei ben<br />
noti applicativi di f<strong>il</strong>e sharing, anche se i servizi sono, in realtà, spesso ibridi e usano spesso un<br />
server <strong>per</strong> la ricerca dei nodi contenenti i f<strong>il</strong>e. Un esempio classico di scenario di ut<strong>il</strong>izzo di<br />
questi servizi è quello dell'utente che vuole scaricare dalla rete delle canzoni. Dopo essersi<br />
registrato on-line in un sito opportuno (pagando l'eventuale abbonamento scelto), egli ha<br />
l'accesso a dei cataloghi mediante un programma fornitogli con l'abbonamento. Seleziona <strong>il</strong><br />
nome del cantante e le canzoni che gli interessano dal menu interattivo. A questo punto, <strong>il</strong><br />
processo iniziato dall'utente termina e viene avviata una procedure <strong>per</strong> la quale in qualunque<br />
momento un nodo che contiene i dati di interesse può iniziare autonomamente la trasmissione<br />
alla macchina dell'utente. Questa è una comunicazione peer-to-peer, poiché le macchine che<br />
partecipano a questa distribuzione di dati sono paritarie: ognuna è in grado di iniziare una<br />
trasmissione di dati (anche quella dell'utente che abbiamo descritto che potrà a sua volta se<br />
necessario inviare i f<strong>il</strong>e ricevuti ad altri utenti).<br />
Un processo peer-to-peer:<br />
• richiede una procedura di registrazione dell'utente che vuole accedere al servizio;<br />
• può chiedere informazioni a server specifici (es. cataloghi di prodotti);<br />
• mette a disposizione sulla rete dei f<strong>il</strong>e dichiarati pubblici (cioè leggib<strong>il</strong>i e scaricab<strong>il</strong>i);<br />
• può servire più richieste allo stesso tempo;<br />
• non è particolarmente robusto e affidab<strong>il</strong>e;<br />
• di solito NON tiene traccia storica dei collegamenti.<br />
Si noti che anche altri servizi “classici” di Internet, come ad esempio <strong>il</strong> servizio di distribuzione<br />
delle news (protocollo NNTP, vedi dopo) sono organizzati in modo peer to peer. I servizi e<br />
relativi protocolli <strong>per</strong> lo scambio di f<strong>il</strong>e (es. bitTorrent) hanno avuto grande successo in quanto<br />
la distribuzione del carico relativo alla trasmissione dei f<strong>il</strong>e in una serie di connessioni<br />
indipendenti con molti nodi invece che ut<strong>il</strong>izzando un unico server <strong>per</strong>mette di sfruttare molto<br />
più efficacemente la banda complessiva disponib<strong>il</strong>e nella rete (in pratica di “scaricare” molto