Concetti Chiave
- Il World Wide Web opera su un'architettura client/server, dove il browser invia richieste al server web per ricevere risposte interpretabili.
- La comunicazione tra client e server richiede sia un'infrastruttura tecnologica basata su TCP/IP che protocolli applicativi come HTTP e FTP.
- Ogni applicazione server è associata a un indirizzo IP specifico e ascolta le richieste su una porta TCP dedicata.
- Per connettersi a un server, un client deve creare un socket specificando l'indirizzo del server e la porta TCP utilizzando la classe ClientSocketManager.
- I socket permettono la comunicazione tra client e server, facilitando l'invio e la ricezione di dati attraverso la rete.
Il World Wide Web è un esempio di sistema basato su architettura client/server.
Come funziona il client/server?
Esso può riassumersi nelle seguenti azioni:
- Il browser, nel ruolo di client, invia una richiesta (ES. http://server/prova.html) che giunge al server web;
- Se questa richiesta è interpretabile dal server web allora questo, nel ruolo di server, invia una risposta (ES. il file /prova.html) al browser, o client, che sia altrettanto interpretabile;
Affinché questa comunicazione avvenga sono necessarie un’infrastruttura di trasmissione (problema tecnologico) e una stessa “lingua” (problema applicativo). Il problema tecnologico è risolto da una infrastruttura fisica supportata dal sistema TCP/IP. Proprio grazie al TCP/IP e ai SOCKET si possono mettere in comunicazione client e server se identificati da un nome di host e da una porta. Per quanto riguarda il problema applicativo, questo è risolto da protocolli ben definiti quali HTTP, FTP e altri ancora.
Connessione tramite socket
Ogni applicazione server è attiva su un calcolatore con un ben definito indirizzo IP ed è in ascolto, attendendo richieste, su una porta TCP. Per connettersi ad essa, un’applicazione client deve prima di tutto creare un socket specificando l’indirizzo di un server, o l’indirizzo nominale se disponibile (ossia se è presente un DNS in grado di convertire il nome in indirizzo IP), e una porta TCP.
Per creare un socket, si può utilizzare la classe ClientSocketManager.
Domande da interrogazione
- Come funziona la comunicazione tra client e server nel World Wide Web?
- Qual è il ruolo del TCP/IP nella connessione tra client e server?
- Come si crea un socket per connettersi a un server?
La comunicazione avviene quando il browser (client) invia una richiesta al server web, che risponde con un file interpretabile, come ad esempio un documento HTML. Questo processo richiede un'infrastruttura di trasmissione e protocolli comuni, come HTTP, per garantire la comprensione reciproca.
Il TCP/IP fornisce l'infrastruttura fisica necessaria per la comunicazione tra client e server, permettendo loro di identificarsi tramite un nome di host e una porta. Questo sistema è fondamentale per il funzionamento delle applicazioni basate su architettura client/server.
Per connettersi a un server, un'applicazione client deve creare un socket specificando l'indirizzo IP del server e una porta TCP. Questo processo può essere facilitato utilizzando la classe ClientSocketManager.