PROGRAMMIAMO
Internet - Client e server
Architettura client-server e peer-to-peer

Facciamo subito un esempio concreto sul quale torneremo ancora molte volte. Supponiamo di voler visualizzare una pagina web sul nostro PC domestico. In questo caso il nostro PC deve entrare in comunicazione con un altro computer (un altro terminale), il quale contiene la pagina che vogliamo richiedere (ad esempio www.programmiamo.altervista.index.html).

In realtà la comunicazione non avviene fra le due macchine (i due computer) ma più precisamente fra un programma (o processo) in esecuzione su un terminale e un altro programma (processo) in esecuzione sul secondo terminale. Nel caso concreto, uno dei due processi è il browser che richiede la pagina, mentre l'altro è un programma detto server web in esecuzione su un secondo computer remoto. Si parla in questo caso di architettura client-server, con riferimento al fatto che uno dei due processi richiede (client) un servizio all'altro (server).

E' importante sottolineare il fatto che il client e il server non sono due computer, ma sono due processi, spesso (ma non sempre) in esecuzione su due computer. La distinzione può sembrare eccessivamente minuziosa, ma è importante per capire e inquadrare correttamente il funzionamento della rete.

Prova ne é che può benissimo darsi che sia il browser che il web server risiedano sul medesimo PC. Questa anzi è una situazione del tutto tipica, quando un programmatore vuole provare il funzionamento di una pagina prima di caricarla sul server.

In realtà anche gli altri elementi che intervengono nella comunicazione in internet sono programmi, piuttosto che computer, cioè si tratta di software piuttosto che di hardware. Per esempio anche quando parliamo di router, stiamo in realtà parlando di software che svolge le funzioni di instradamento e che viene eseguito su un computer (a volte un dispositivo dedicato o un vero e proprio computer).

Un altro tipo di architettura di comunicazione in rete è quella detta peer-to-peer, nella quale i due terminali in comunicazione svolgono lo stesso ruolo o lo svolgono in modo intercambiabile. Esempi di reti di questo tipo sono le reti emule e torrent, dove ogni terminale svolge le funzioni di client e server per la condivisione di file.

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it