12.12.2012 Views

4 Creare contenuti per il web - Andrea Giachetti

4 Creare contenuti per il web - Andrea Giachetti

4 Creare contenuti per il web - Andrea Giachetti

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!