Reading Time: 4 minutes

World Wide Web

Se alla posta elettronica va riconosciuto il merito di aver avvicinato a Internet numerose aziende, il servizio che ha trasformato la rete Internet in una infrastruttura fruibile da utenti finali veramente eterogenei è senza dubbio il servizio World Wide Web (abbreviato in WWW o Web).

Attraverso il servizio WWW è possibile accedere in maniera semplice a una sconcertante vastità di applicazioni e informazioni multimediali.

Il numero di Web Server registrati ha oramai raggiunto cifre esorbitanti (si aggirava a circa 100 milioni di unità già nel 2006).

Considerato che sulla stessa piattaforma fisica possono essere attivati più servizi Web (riconducibili a server virtuali distinti), il numero di Web Server coinvolti può essere valutato nell’ordine delle decine di milioni di unità.

Ma solo riflettendo sul fatto che, la quasi totalità degli utenti di Internet pubblica (che conta oltre 500.000.000 di host) accede regolarmente ai servizi WWW, si può comprendere l’importanza che il servizio ha oramai raggiunto, non solo a livello di utenza Internet, ma su scala assoluta tra i moderni sistemi di comunicazione.

Al di là della molteplicità di informazioni alle quali si può accedere tramite Web, il servizio si basa su un principio di funzionamento estremamente semplice.

Il client invia al server un messaggio per ogni richiesta di informazione (solitamente utilizzando la porta riservata 80/tcp) e attende la relativa risposta.

Il server restituisce l’informazione richiesta e successivamente chiude la connessione.

Nel caso si preveda di inviare nel breve periodo altre richieste allo stesso server la connessione in corso può essere mantenuta attiva e utilizzata per gli scambi successivi al primo.

Lo scambio di informazioni tra client e server viene gestito in accordo al protocollo HTTP (Hypertext Transfer Protocol).

Molto spesso l’informazione restituita al client è contenuta in un file memorizzato localmente sul server.

La ricerca del file è guidata dal client, tramite l’invio nella Request di un identificativo univoco (o URL, Uniform Resource Locator), che permette al server di individuare l’oggetto cercato.

Se il file è presente, il compito del server è solo quello di aggiungere una intestazione HTTP al contenuto del file locale e restituire il tutto al client.

Per indicare la natura dei dati trasportati nelle HTTP Response, il servizio utilizza i tipi definiti dallo standard MIME.

Molto frequentemente i documenti restituiti sono realizzati in accordo con il linguaggio ipertestuale HTML (HyperText Markup Language).

L’aspetto più interessante (e fortemente innovativo al momento della sua introduzione) del servizio Web consiste nella capacità del server di generare al momento (on-the-fly) le risposte alle richieste inviate dai client.

In tal caso, invece che restituire un semplice file preesistente, il server assembla i dati da più fonti (locali alla stazione e/o accedute via rete tramite connessioni TCP/IP “ausiliarie”) per poi inviare la risposta al client, sempre rispettando il protocollo HTTP.

Anche se buona parte delle informazioni trasmesse tramite il servizio WWW continua a essere organizzata in documenti HTML prelevati direttamente dalla memoria del server, sempre più servizi a valore aggiunto si basano sulla possibilità di calcolare in tempo reale le risposte, formattarle secondo lo standard HTML e trasmetterle al client.

Per generare in tempo reale i risultati alle interrogazioni degli utenti il server Web agisce come gateway applicativo, interfacciandosi in maniera standard con applicativi esterni, responsabili di completare ciascuna specifica richiesta di servizio.

Secondo questo modello, il Web Server è responsabile solo di raccogliere i parametri inviati dall’utente tramite HTTP Request e passarli all’applicativo esterno, rispettando una sintassi convenzionale.

Le modalità di interfacciamento tra Web Server e componenti software esterne sono definite dallo standard CGI (Common Gateway Interface).

I parametri passati al server (e da questi all’applicativo esterno) sono generalmente specificati dall’utente, previa compilazione di un modulo HTML (HTML Form), o comunque inviati dal browser che esso utilizza al momento del “Submit” della Form.

La natura degli hyperlink consente anche di direzionare il Submit di una HTML Form, ricevuta da un primo Web Server, a un Web Server diverso.

Ovvero, indipendentemente dal Web Server da cui si è scaricata la Form, i dati utente vengono inviati all’URL riferito nella HTML Form stessa.

Ricevuti i parametri utente, il server Web li passa al programma esterno senza alcuna validazione.

La sola trasformazione effettuata dal gateway riguarda l’eventuale conversione dei parametri URL Encoded (che devono rispettare le limitazioni descritte nella RFC 3986) in caratteri ASCII convenzionali, in modo da consentire la corretta comprensione degli stessi da parte dell’applicazione esterna ricevente.

La semantica dei dati e la loro eventuale pericolosità nei riguardi dell’applicazione che li riceve non è valutabile da parte del Web Server.

È responsabilità del programma esterno controllare tutti i parametri passati dal server al fine di prevenire eventuali attacchi veicolati tramite questo canale da parte di un hacker esperto.

Lo standard CGI originale prevedeva che la componente software esterna fosse attiva sulla stessa stazione del Web Server.

In tal caso il passaggio dei parametri avviene direttamente sfruttando le modalità di intercomunicazione tra processi attivi su una stessa piattaforma.

Oggi l’approccio più diffuso, per motivi di scalabilità e miglior gestione delle singole componenti applicative, prevede che il programma esterno risieda su una stazione distinta da quella che svolge funzione di Web Server.

Anche in tal caso, nonostante il proliferare di API (Application Programming Interface) proprietarie, il più diffuso per il passaggio di parametri rimane lo standard CGI.

error: Content is protected !!

La maggior parte dei contenuti del blog ComputerSec vengono pubblicati a beneficio di tutti e in modo completamente gratuito.
Tuttavia per supportare il blog, e per avere ulteriori vantaggi, puoi decidere di abbonarti e sfruttare al 100% tutti i contenuti!
Abbonati Ora!

Complimenti! Ti sei iscritto alla nostra Newsletter

C'è stato un errore durante l'invio della richiesta. Per favore riprova.

Computer Security will use the information you provide on this form to be in touch with you and to provide updates and marketing.