Concetti Chiave
- Il World Wide Web funziona su un'architettura client/server, dove il browser agisce come client inviando richieste al server web.
- La comunicazione client-server richiede un'infrastruttura fisica basata su TCP/IP e SOCKET per trasmettere dati.
- Protocolli come HTTP e FTP risolvono il problema applicativo, permettendo l'interpretazione delle richieste e risposte.
- Ogni server applicativo opera su un indirizzo IP specifico e ascolta richieste su una porta TCP dedicata.
- I client creano un socket, utilizzando classi come ClientSocketManager, specificando l'indirizzo del server e la porta TCP.
Parte Client
Il World Wide Web è un esempio di sistema basato su architettura 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.
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.