IL WORLD-WIDE WEB

 

Indirizzi globali ...

Ipertesi e ipermedia

Sviluppi futuri

Il meccanismo di trasmissione

Organizzazione dei servizi WWW

 

 

Il sistema informativo World-Wide Web (o WWW, o ancora W3) è stato ideato da un gruppo di ricercatori al CERN a partire dal 1990 [BLCGP92]. Dopo un'iniziale lenta accettazione, il servizio è ``esploso'' grazie alle possibilità multimediali inserite da programmi come Mosaic fino ad essere il servizio più utilizzato su Internet e, di fatto, l'artefice della diffusione commerciale e presso il grande pubblico di Internet. Nato come strumento di collaborazione su reti geografiche per la comunità dei fisici delle alte energie, ``il Web'' si basa su una struttura di ipertesti sparsi per la Rete che possono essere facilmente collegati gli uni agli altri in modo da formare un'unica ``ragnatela mondiale'' facilmente estensibile e scalabile.

A differenza di altri servizi, la nozione di WWW copre una serie di differenti elementi che sono tutti parte del sistema [BLCL+94]:

  • l'idea di un insieme globale di informazioni che possano essere indirizzate in un modo univoco che le renda facili da recuperare;
  • il sistema di indirizzamento che renda possibile ciò a prescindere dai diversi servizi e protocolli con cui le informazioni vengono accedute;
  • un nuovo protocollo (HTTP) per facilitare la creazione di server dalle caratteristiche adatte al sistema;
  • un linguaggio di descrizione di ipertesti (HTML) usato per la trasmissione di documenti, menu, liste di altri documenti sulla Rete;
  • l'insieme dei dati disponibili grazie a questo sistema.

Nel WWW un client, chiamato anche browser, decodifica l'indirizzo di un oggetto sulla Rete e, a seconda del protocollo necessario, effettua la comunicazione con il server interessato, che risponderà spedendo l'oggetto desiderato in un certo formato: ad esempio usando il protocollo NNTP si avrà sempre un file di testo semplice, mentre la comunicazione con un server HTTP potrà produrre molti altri formati. Una volta terminata questa ricezione, il browser chiude la connessione col server (che dunque resta attiva il tempo strettamente necessario per una singola richiesta) e utilizza questo oggetto secondo le proprie capacità; tipicamente, se è un documento HTML, lo mostrerà sul video permettendo di seguire altri collegamenti indotti dalla struttura ipertestuale.

Opportunamente configurati, i browser Web possono anche visualizzare altri formati di documenti, come PostScript o PDF, e quindi essere utilizzati come strumento globale di ricerca e visualizzazione su Internet.

Oltre a questo, potendo utilizzare diversi protocolli e diversi formati per i dati, la forza del World-Wide Web è dovuta alle sue intrinseche caratteristiche di indipendenza da particolari piattaforme hardware o software e di portabilità negli ambienti operativi più diversi: il linguaggio HTML garantisce una lingua franca che permette la visualizzazione di documenti semplici nei modi ritenuti più adatti secondo le varie piattaforme, da quelle solamente testuali a quelle multimediali.

Indirizzi globali per le informazioni

Gli URI (Uniform Resource Identifiers, [BL94a]) sono le stringhe utilizzate dal World-Wide Web per identificare gli indirizzi degli oggetti (e cioè documenti, immagini, liste, ecc.) presenti sulla Rete in un modo adatto a essere recuperato da un client. In particolare, allo stato dell'arte, il WWW utilizza una classe particolare di URI, le URL (Uniform Resource Locators, [BLMM94]) che mappano più strettamente la URI di un oggetto al modo di accesso a un particolare server usando un protocollo di Rete esistente. La ricerca su un'altra classe molto potente di URI, le URN [SM94], che avrebbero dovuto permettere l'indirizzamento di un documento identificato da un nome univoco sulla Rete, aggirando quindi ogni problema di duplicazione e di consistenza tra le versioni, è invece ancora embrionale.

Per ogni protocollo di Rete che abbia qualche concetto di ``oggetto'' si può formare un indirizzo utilizzando i parametri necessari al recupero dello stesso: racchiusi in una stringa che porti all'inizio il nome del protocollo questi dati formano una URL. Una URL è generalmente divisa in tre parti: la prima, chiamata schema, indica il tipo di protocollo da utilizzare per la connessione e guida alla decodifica della restante stringa; la seconda indica il server a cui effettuare la richiesta, ed è quindi un indirizzo di rete, in forma numerica o simbolica; la terza specifica percorso e nome dell'oggetto da recuperare. Ad esempio, ci sono schemi per il protocollo HTTP, per quello Gopher e quello FTP, così come schemi leggermente diversi dalla norma che permettono il collegamento a un newsgroup o che consentono di spedire posta a un particolare indirizzo. Altri schemi possono essere facilmente aggiunti all'apparire di nuovi protocolli.

Le URL sono centrali nell'architettura del World-Wide Web, in quanto il fatto che sia facile indirizzare direttamente un oggetto ovunque su Internet è essenziale per la scalabilità del sistema, e affinché lo spazio delle informazioni sia indipendente dalla topologia di rete e da particolari server.

Il meccanismo di trasmissione

L'HTTP (HyperText Transfer Protocol, [BLFN96]) è un protocollo che in realtà non serve solamente a trasmettere ipertesti, ma anche testo semplice, immagini o qualsiasi altro tipo di oggetto; il nome deriva dall'essere stato introdotto dall'inizio nella struttura del WWW come protocollo nativo del servizio.

È un semplice protocollo richiesta-risposta simile ad altri già estremamente diffusi sulla Rete, come FTP [PR85] o NNTP [KL86], ma a differenza di questi è senza stato: questa scelta è evidentemente dovuta al modello architetturale generale, in cui la disponibilità di un oggetto è univocamente determinata dalla propria URL. Inoltre, durante le fasi di richiesta dell'oggetto il client fornisce al server una lista (pesata) dei formati riconosciuti e il server risponde con le informazioni nel formato che riesce a produrre; in questo modo, particolari client e server possono scambiarsi dati in formato non generalmente standardizzato, per uso particolare o sperimentale. Lo stesso meccanismo è disponibile per la negoziazione del linguaggio dei documenti (francese o italiano piuttosto che inglese) che si desidera ricevere: purtroppo queste caratteristiche sono scarsamente utilizzate allo stato attuale.

La richiesta HTTP dal client viene aperta con un codice dell'operazione (chiamato metodo in ossequio alla terminologia della programmazione orientata agli oggetti) e con la URL dell'oggetto. Il metodo ``GET'' è definito come idempotente in quanto preserva lo stato del Web; ``PUT'' è definito come aggiornamento, mentre ``POST'' come meccanismo di inserimento di nuovi oggetti sul Web o come sottomissione di moduli riempiti o altri oggetti al server. Attualmente, l'uso di PUT e POST è limitato a causa delle limitate capacità degli editori ipertestuali, e altri metodi sono in studio.

Mentre gli oggetti sono trasferiti sulla Rete, le meta-informazioni (e cioè le informazioni su di essi) sono trasferite nell'intestazione (header) della risposta HTTP: i campi validi sono un'estensione di quelli del meccanismo MIME [BF93]. Questa architettura consente il trasferimento di file binari e in formati non standardizzati, oltre a consentire la trasmissione di metainformazioni, come il titolo di un oggetto per un'immagine grafica, che non sarebbero normalmente presenti nell'oggetto. In particolare, viene trasmesso il campo Content-Type che indica il formato del documento così come generato dal server sulla base della negoziazione, e che verrà utilizzato dal browser per ``trattare'' la risposta.

Ipertesti e ipermedia

In aggiunta all'abilità dell'HTTP di negoziare formati, il World-Wide Web utilizza l'HTML (HyperText Markup Language, [BLC95]) come linguaggio di base per lo scambio di ipertesti. L'HTML è stato infatti progettato in maniera semplice in modo da poter essere facilmente generato sia da programmi automatici che da umani, ma anche aderente agli standard SGML (e l'HTML infatti è una ``DTD'' di SGML) in modo da poter essere formalizzato e integrato con strumenti già esistenti, tanto da poter essere utilizzato anche al di fuori dal WWW come linguaggio di descrizione per semplici ipertesti. Fornisce semplici elementi di definizione della struttura del documento come intestazioni a vari livelli, liste, menu.

L'HTML è definito come un linguaggio di comunicazione sulla Rete, e non è necessario che i documenti siano effettivamente creati e salvati in questo formato; i server possono conservare i file in altri formati e poi generare su richiesta il formato HTML oppure, come viene fatto da sempre più applicazioni, la produzione di HTML è funzione dell'interfacciamento del server a una base di dati che descrive un sistema informativo.

  Molta della potenza del Web è dovuta all'utilizzo di un linguaggio ipertestuale [Con87] come base per i propri documenti: la forma dell'ipertesto è sempre stata vista come un'estensione delle potenzialità dei documenti che potevano essere legati a qualsiasi altro documento il cui argomento fosse correlato, o forse nemmeno. Applicando questa visione a una rete mondiale si realizza quella che chiama è stata chiamata la ``aggregazione della conoscenza umana'' [BLCL+94]. L'unione della forma ipertestuale dei documenti con la possibilità di inserire contenuti in vari formati di testo, immagini, filmati, eccetera (``multimedia'') realizza quello che è comunemente definito ``ipermedia'', ovvero un'unione fluida di varie modalità di comunicazione interattive che utilizzano i collegamenti ipertestuali come strumento di utilizzo del contenuto, ovvero di ``navigazione'' come si usa dire. Questo meccanismo, già sperimentato in prodotti di consumo come CD-ROM o chioschi informativi, viene utilizzato anche per i servizi di Rete come il WWW realizzando, di fatto, un nuovo mezzo di comunicazione con modalità proprie. Vedremo nel § 6 come questi oggetti possano essere trattati in maniera formale in modo da ottenere metodologie del tutto simili a quelle proprie dell'ingegneria del software.

Organizzazione dei servizi WWW

La semplicità di realizzazione di sistemi informativi utilizzabili in maniera intuitiva dal grande pubblico o di grandi archivi di informazioni facilmente gestibili e interrogabili ha portato nel corso degli ultimi anni uno sviluppo massiccio dei servizi World-Wide Web che sono stati approntati da enti accademici, grosse imprese o da singoli utenti della Rete.

La qualità e la tipologia di questi servizi è molto variabile, spesso in maniera non prevedibile: le pagine di una piccola rivista online possono essere più curate e mostrare un'interfaccia utente più intuitiva di grossi servizi commerciali, mentre anche all'interno della stessa tipologia di organizzazioni possono esserci riproposizioni di materiale già apparso su altri mezzi di comunicazione (per esempio brochure pubblicitarie o CD-ROM) oppure materiale, e modalità d'interazione, creati in maniera esclusiva per il Web. Nel corso del § 3.1 indicheremo con esattezza i servizi di cui ci occuperemo nei capitoli seguenti, utilizzando le definizioni seguenti.

 

Definizione 2   Chiamiamo servizio WWW un sistema informativo in Rete che comunica all'utente attraverso i meccanismi del World-Wide Web e in particolare il protocollo HTTP e i documenti ipertestuali codificati in HTML.

Essendo il World-Wide Web un sovrainsieme che comprende diversi protocolli e documenti in vari formati si potrebbe affermare a ragione che anche un server FTP che fornisce documenti in PostScript va considerato come un servizio WWW. In realtà ci limiteremo a chiamare con questo nome i servizi che utilizzano principalmente i nuovi strumenti nati espressamente per il Web, e quindi HTTP come protocollo di comunicazione e HTML come formato dei documenti principali. Questa limitazione non preclude l'utilizzo accessorio di altri protocolli per sezioni specifiche del servizio oppure la disponibilità di documenti e file in altri formati, ma semplicemente restringe il nostro campo di studio a una classe di servizi facilmente identificabili. Un servizio WWW è anche conosciuto come sito.

 

Definizione 3   Un'unità di servizio WWW è un singolo server HTTP che fa parte dell'implementazione di un servizio World-Wide Web.

Grazie a questa definizione abbiamo una divisione terminologica che ci permette di distinguere tra servizi basati su una singola unità, che quindi sono contenuti in un singolo server HTTP, e servizi basati su più unità, in cui i dati sono divisi tra più server.

Sviluppi futuri

Dopo lo sviluppo prepotente degli ultimi anni, lo sviluppo di nuovi standard per il World-Wide Web è attualmente coordinato dal W3Consortium, un'organizzazione finanziata dalla maggior parte delle industrie attive in questo campo. In particolare, le aree di sviluppo del servizio sono l'internazionalizzazione, la sicurezza e soprattutto il mantenimento della consistenza e della semplicità dell'architettura [BL96].

Un'altra sfida è quella di ``ritornare'' a usare il WWW come strumento di lavoro collaborativo (groupware), scopo per cui era nato inizialmente e che è stato soppiantato dall'uso come mezzo di pubblicazione di documentazione comunque in qualche modo pianificata.

Un'altra strada che probabilmente verrà intrapresa dai costruttori di sistemi operativi per personal computer è quella di integrare le funzioni di ``navigazione'' e pubblicazione di documenti nel WWW con l'interfaccia utente e il filesystem locale, in modo da fornire all'utente un'unica metafora per l'accesso alle informazioni locali e a quelle dislocate sulla Rete, facendo quindi un ulteriore passo verso la diffusione delle informazioni senza vincoli spaziali.