PROGRAMMIAMO
Internet - Client e server
Architettura client-server

Semplificando un po', fra i diversi nodi della rete (cioè i diversi computer connessi) possono darsi due diverse relazioni (o architetture):

Supponiamo nuovamente 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 o web server 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).

Web Server

Un Web Server (detto anche Web Host) è un server il cui compito è quello di ospitare un sito web e di renderlo disponibile in rete. Per esempio questo sito è ospitato sui server di Altervista.

Se la pagina è effettivamente presente sul web server e se tutto funziona correttamente, il server risponderà alla nostra richiesta spedendoci la pagina.

Abbiamo sottolineato che il server è un software, non un particolare tipo di hardware. Qualsiasi normale PC è in grado di eseguire un Web Server. Tuttavia ciò non toglie che i Web Server più grandi usufruiscano di notevoli risorse hardware. Spesso ciò implica avere a disposizione molti computer collegati fra loro e ospitati in apposite strutture.

 

Architettura peer-to-peer

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, cioè ogni terminale svolge le funzioni di client e server per la condivisione di file.

L'esempio più classico di architettura peer-to-peer sono le reti di file sharing (condivisione file), come Torrent o eMule, dove i file da condividere sono distribuiti su tutti i computer connessi in rete, in modo decentralizzato.

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it