Aggiungi a: Digg Aggiungi a: Del.icoi.us Aggiungi a: Furl Aggiungi a: Yahoo Aggiungi a: Technorati Aggiungi a: Google Information  RSS ePOINT Ferrara
Architettura e protocolli PDF Stampa E-mail

L'architettura e i protocolli di World Wide Web.

Il concetto di ipertesto descrive la natura logica di World Wide Web. Si tratta infatti di un insieme di documenti multimediali interconnessi a rete mediante molteplici collegamenti ipertestuali e memorizzati sui vari host che costituiscono Internet. Ciascun documento considerato dal punto di vista dell'utente viene definito pagina Web, ed è costituito da testo, immagini fisse e in movimento, in definitiva ogni tipo di oggetto digitale. Di norma le pagine Web sono riunite in collezioni riconducibili ad una medesima responsabilità autoriale o editoriale, e talvolta, ma non necessariamente, caratterizzate da coerenza semantica, strutturale o grafica. Tali collezioni sono definiti siti Web. Se consideriamo il Web come un sistema di editoria on-line, i singoli siti possono essere assimilati a singole pubblicazioni.

In realtà per svolgere le sue mansioni un server HTTP può agire in due modi, a seconda che il documento richiesto dal client sia statico o dinamico.

Un documento Web statico è costituito da una serie di oggetti digitali memorizzati in file, che vengono generati una volta per tutte e messi in linea a disposizione degli utenti, fino a quando il gestore di sistema non decide di modificarli o di rimuoverli. Quando il server riceve una richiesta che si riferisce a un documento statico, non deve far altro che individuare sulle proprie memorie di massa i vari file di cui si compone e inviarne delle copie al client.

Un documento Web dinamico, invece, è un documento i cui componenti vengono elaborati e composti solo nel momento in cui arriva una richiesta esplicita. Questo tipo di documenti sono utilizzati nei casi in cui è necessario generare dei contenuti in maniera dinamica, in modo automatico o in risposta ad una operazione interattiva effettuata dall'utente: ad esempio per aggiornare automaticamente i valori contenuti in una tabella numerica o per inviare, inseriti in un opportuno contesto, i risultati di una ricerca su un database.

Naturalmente il server Web in quanto tale non è in grado di effettuare queste elaborazioni dinamiche. Per farlo si deve appoggiare a programmi esterni o a librerie di funzioni chiamate in modo dinamico.

Molteplici tecnologie sono state sviluppate a tale fine. La più 'rudimentale' si basa sulla cosiddetta Common Gateway Interface (CGI). Si tratta di un insieme di comandi e di variabili di memoria attraverso cui il server Web può comunicare con altre applicazioni e programmi autonomi. Tali programmi ricevono dal server un messaggio in cui viene richiesta una data elaborazione (ad esempio un sistema di gestione di database può ricevere la richiesta di effettuare una ricerca mediante alcune chiavi), la effettuano, e restituiscono l'output (nel nostro caso il risultato della ricerca) ad un altro programma che lo codifica in un formato legale sul Web, il quale viene a sua volta restituito al server HTTP che infine provvede ad inviarlo al client.

I server Web più moderni, tuttavia, adottano tecnologie più evolute e soprattutto più efficienti per generare pagine dinamiche. Queste tecnologie si basano sulla integrazione delle funzionalità elaborative direttamente nel server, mediante librerie binarie dinamiche. Poiché tutte le operazioni vengono svolte da un unico software nel medesimo spazio di memoria e l'interazione tra moduli avviene a livello binario, la velocità di esecuzione e l'occupazione di memoria ne risultano notevolmente ottimizzate. Esempi di queste tecnologie sono il sistema Active Server Pages (ASP), implementato nell'Internet Information Server della Microsoft, quello basato su ISAPI e Java dei server Netscape, e quello basato su un interprete Perl (Perl module) del server Apache.

Un'altra tipica funzione svolta dal server è la gestione di transazioni economiche, quali la registrazione di un acquisto fatto con carta di credito. Dal punto di vista tecnico questa operazione non differisce molto dalla normale consultazione o aggiornamento di un database. Ma ovviamente i problemi di affidabilità e di sicurezza in questo caso sono molto più rilevanti: per questo sono stati sviluppati dei server HTTP specializzati nella gestione di transazioni economiche sicure attraverso complesse tecnologie di cifratura di dati.

Attivando uno dei collegamenti contenuti nella pagina correntemente visualizzata, essa viene sostituita dalla pagina di destinazione, che può trovarsi su un qualsiasi computer della rete. In questo senso utilizzare uno strumento come Web permette di effettuare una sorta di navigazione in uno spazio informativo astratto, uno degli esempi del cosiddetto ciberspazio.

Ma quali tecnologie soggiacciono a tale spazio astratto? In linea generale l'architettura informatica di World Wide Web non differisce in modo sostanziale da quella delle altre applicazioni Internet. Anche in questo caso, infatti, ci troviamo di fronte ad una sistema basato su una interazione client-server, dove le funzioni elaborative sono distribuite in modo da ottimizzare l'efficienza complessiva. Il protocollo di comunicazione tra client e server Web si chiama HyperText Transfer Protocol (HTTP). Si tratta di un protocollo applicativo che a sua volta utilizza gli stack TCP/IP per inviare i dati attraverso la rete. La prima versione di HTTP è stata sviluppata da Tim Berners Lee ed ha continuato a far funzionare il Web per molti anni prima che venisse aggiornata alla versione 1.1, caratterizzata da una serie di migliorie sul piano dell'efficienza (HTTP/1.1 utilizza una sola connessione TCP per trasmettere dati e definisce delle regole per il funzionamento della cache sul lato client) e della sicurezza delle transazioni.

A differenza di altre applicazioni Internet, tuttavia, il Web definisce anche dei formati o linguaggi specifici per i tipi di dati che possono essere inviati dal server al client. Tali formati e linguaggi specificano la codifica dei vari oggetti digitali che costituiscono un documento, e il modo di rappresentare i collegamenti ipertestuali che lo legano ad altri documenti. Tra essi ve ne è uno che assume un ruolo prioritario nel definire struttura, contenuto e aspetto di un documento/pagina Web: attualmente si tratta del linguaggio HyperText Markup Language (HTML).

Un client Web costituisce lo strumento di interfaccia tra l'utente e il sistema Web; le funzioni principali che esso deve svolgere sono:

* ricevere ed eseguire i comandi dell'utente
* richiedere ad un server i documenti
* interpretare i formati di codifica degli oggetti che costituiscono ogni singolo documento e presentarli all'utente su un determinato dispositivo di output del computer ove risiede (di norma il monitor).


I client Web vengono comunemente chiamati browser, dall'inglese to browse, scorrere, sfogliare, poiché essi permettono appunto di scorrere le pagine visualizzate. Poiché tuttavia la fruizione di una pagina Web non è riconducibile formalmente alla sola visualizzazione, nei documenti tecnici si preferisce la formula user agent, che cattura in modo più astratto il ruolo funzionale svolto dal client.

Un server Web, o più precisamente server HTTP, per contro, si occupa della gestione, del reperimento e dell'invio dei documenti (ovvero dei vari oggetti digitali che li costituiscono) richiesti dai client. Nel momento in cui l'utente attiva un collegamento - agendo su un link - o specifica esplicitamente l'indirizzo di un documento, il client invia una richiesta HTTP (HTTP request) al server opportuno con l'indicazione del documento che deve ricevere. Questa richiesta viene interpretata dal server, che a sua volta invia gli oggetti che compongono il documento richiesto corredati da una speciale intestazione HTTP che ne specifica il tipo. Tale specificazione si basa sui codici di tipo definiti dalla codifica MIME (o MIME type), nata per la posta elettronica. Se necessario, il server prima di inviare i dati può effettuare delle procedure di autenticazione, in modo da limitare l'accesso a un documento a utenti autorizzati e in possesso di password. 

< Prec.   Succ. >
Contatta ePOINT web agency Ferrara e Bologna
Portfolio


     Qui un estratto del

        nostro portfolio 

Partner Program


Agenzia di comunicazione
      o pubblicitaria?

Diventa partner ePOINT.