1.7 Il World Wide Web 1.7.1 Ipertesti e World Wide Web Un ipertesto è un testo a molte dimensioni, contrariamente ai testi tradizionali che si sviluppano sequenzialmente in un'unica dimensione. L'ipertesto è costituito di pagine e alcune parole (o immagini, o altri oggetti ancora), detti hyperlink, costituiscono una sorta di "pulsanti" che rinviano direttamente e concretamente ad altra sezione della pagina o ad altre pagine (locali o remote). Gli hyperlink sono anche detti collegamenti ipertestuali e sono realizzati in informatica attraverso pulsanti che appaiono sullo schermo e cliccando sui quali ci si sposta nell'ipertesto o, come si dice con una metafora, si naviga nell'ipertesto. L'ipertesto, dunque, costituisce una rete di informazioni. 1.7.2 La storia dell'ipertesto Il sistema d'ipertesto più conosciuto e più ampio è certamente il World Wide Web, che ha dimensioni planetaria e contiene miliardi di testi fra loro collegati. La prima idea dell'ipertesto viene fatta risalire all'articolo “As we may think” scritto nel 1945 da Vannevar Bush, un fisico che si chiedeva come organizzare l'enorme mole di informazioni che la società produce e nella quale è molto difficile orientarsi. Bush immaginò una macchina ideale che chiamò Memex, consistente in un gran numero di pagine memorizzate su microfilm; l'utente aveva la possibilità di creare direttamente nelle pagine collegamenti diretti verso altre pagine secondo una logica associativa. Nel 1965 Ted Nelson riprese l'idea di Bush e inventò il termine Hypertext: così come un iperspazio è uno spazio a molte dimensioni, così l'ipertesto vuole essere un testo a molte dimensioni in contrapposizione al tradizionale testo lineare che di dimensioni ne ha una sola. Il modello a cui pensava Nelson era quello dell'enciclopedia, un insieme di pagine organizzato non solo gerarchicamente o sequenzialmente con un indice, ma che permettesse anche collegamenti trasversali tra una pagina e un'altra logicamente connessa a quella (un'idea molto simile a quella di Bush). Nel 1989 Tim Berners-Lee mise finalmente in pratica l'idea di ipertesto sposandola con la già esistente rete Internet; chiamò WEB quella rete di computer (web-server) che di fatto realizzano un ipertesto su scala mondiale. 1.7.3 I fondamenti del web. Il browser Il World Wide Web (WWW, ragnatela mondiale) è una rete di informazioni disponibili su Internet, collegate fra loro in forma di ipertesto. Lo spostarsi da un documento all’altra del web è ormai noto con la metafora di “navigare su Internet”. Spesso si confonde “Internet” con il “www”, ma in realtà www è un servizio di Internet, anche se Internet deve molto del suo sviluppo proprio al web. Il Web si basa su alcuni meccanismi per rendere agevole la navigazione: • • • • • uno schema di denominazione uniforme per localizzare le risorse sul Web (URL, Uniform Resource Locator o "indirizzo web"), un linguaggio per ipertesti (HTML, HyperText Mark-Up Language), un linguaggio "di markup", ossia che descrive l'aspetto che deve avere un documenti ipertestuale, uno specifico protocollo per accedere alle risorse del Web (HTTP, HyperText Transfer Protocol). Esiste anche un protocollo HTTPS, dove la “s” sta per trasmissione “sicura”), una miriade di Web server, su cui sono distribuiti i contenuti un software "client" per l'accesso ai siti web, detto Web browser o semplicemente Browser, disponibile a tutti gli utenti di Internet (Internet Explorer, Netscape Navigator, Mozilla Firefox, …). In sintesi, il WWW è un enorme contenitore di di informazioni utili e meno inutili, valide e meno valide, al quale tutti possono accedere con il proprio browser, come avverrebbe in una biblioteca. Esso è costituito da una miriade di siti web, ciascuno basato su un proprio web server contenente uno o più documenti. Un utente può anche costruire un prorio sito che aggiunge informazioni al WWW. 1.7.3.1 HTML (approfondimento) HTML è un linguaggio di pubblico dominio la cui sintassi è stabilita dal “World Wide Web Consortium” (W3C) e che ha subìto negli anni revisioni e miglioramenti. L'ultima versione (al momento della stesura di questo materiale) e risale al 1999. Altri linguaggi per il web sono XHTML e XML. Ogni documento scritto in HTML è contenuto in un file, la cui estensione è “.htm” o “.html”. 1.7.3.2 HTTP (approfondimento) Il protocollo HTTP funziona su un meccanismo richiesta/risposta: il client esegue una richiesta ed il server restituisce la risposta. In pratica, il client è il browser ed il server il sito web. Esiste anche una versione “sicura” del protocollo http, per trasmettere dati sensibili al riparo di malintenzionati: si chiama HTTPS ed utilizza un canale cifrato SSL (Secure Socket Layer) che rende più difficile l’intercettazione e la lettura delle informazioni da parte di terzi non autorizzati. 1.7.3.3 Browser (approfondimento) Un web browser è un programma che consente la navigazione nel WWW; la sua funzione primaria è in effetti quella di richiedere le pagine di un sito ad un web server ed una volta ricevute interpretarne il codice HTML e visualizzarlo. I primi browser a raggiungere una grande utenza furono Mosaic e Netscape Navigator (su cui vennero messe a punto alcune innovazioni oggi comunissime come ad esempio il supporto per i javascript). Ad oggi il più diffuso è Internet Explorer, prodotto da Microsoft, in quanto viene fornito "di serie" con il sistema operativo Windows. Altri browser molto diffusi sono Mozilla, Opera e il già citato Netscape Navigator. La presenza di browser diversi ha portato alcuni webmaster (i professionisti che progettano, implementano e gestiscono siti web) a realizzare nel passato siti web destinati ad essere visitati con un browser preferenziale, ma oggi è buona tecnica realizzare siti visualizzabili con qualsiasi browser. 1.7.4 WWW: cenni storici Il World Wide Web nacque nei primi anni ’90 presso il CERN di Ginevra (Centro Europeo di Ricerche Nucleari), su idea di Tim Berners-Lee che definì il protocollo HTTP e il linguaggio HTML al fine di permettere ai ricercatori di condividere la documentazione scientifica in formato elettronico. La prima versione effettivamente disponibile del protocollo HTTP venne implementata da Berners-Lee nel 1991 e proposta all'ente normatore IETF nel 1996. Anche l’URL e la realizzazione del primo browser si devono a Tim Berners-Lee. 1.7.5 Siti, URL e pagine web Un sito web è organizzato in pagine che contengono testi, suoni, immagini, animazioni, filmati, etc. Le pagine, in formato HTML possono essere più grandi del monitor: una pagina più lunga ha bisogno di uno scorrimento verticale, mentre una più larga è in genere viene evitata in quanto ne richiederebbe uno orizzontale, non molto pratico (vedi RICHIAMO). Così come per gli ipertesti (vedi RICHIAMO), le pagine posseggono collegamenti ipertestuali per navigare al proprio interno oppure verso altre pagine dello stesso sito oppure verso altri siti. La pagina di riferimento iniziale del sito, dalla quale si raggiungono le altre è deta home page.. Un sito è identificato dal suo indirizzo web o URL; attraverso il quale il web browser si collega tipicamente con la home page del sito. Nella sua forma semplificata usuale, l’URL si presenta ad esempio come “http://www.unina.it” dove • • • http (usato per default, nel senso che se l'utente non lo indica viene assunto come sottinteso) fornisce indicazione sul protocollo da usare per il collegamento; in alternativa si pouò usare https per richiedere l’uso del protocollo “sicuro”; la seconda parte indica il nome del server che realizza il servizio, che è di solito (ma non necessariamente) www come nell'esempio; la coda (unina.it nell'esempio) è il nome del dominio, in genere (ma non necessariamente) di secondo livello (vedi RICHIAMO). È da notare che l'indirizzo per accedere ad un sito per ottenere un file transfer è simile all’URL. ad esempio ftp://ftp.microsoft.com/ RICHIAMO: § 1.7.1 - Ipertesti e World Wide Web RICHIAMO: Modulo 2 - § 2.5.6 - Lo scorrimento nelle finestre RICHIAMO: § 1.4.6 - Indirizzi simbolici: il DNS RICHIAMO: § 1.6.3 - Trasferimento file (FTP) 1.7.5.1 Pagine dinamiche (approfondimento) Le pagine di cui si è detto finora sono pagine statiche, vale a dire pagine scritte una tantum che forniscono dati costanti (tranne un intervento di aggiornamento da parte del gestore del sito). Gli standard e i protocolli per il WWW supportavano inizialmente la sola gestione di pagine statiche. La semplicità della tecnologia decretò un immediato successo, prima in campo accademico e di ricerca, quindi anche in quello commerciale. Per superare le limitazioni del progetto iniziale a pagine statiche, furono ben presto definiti strumenti capaci di generare pagine dinamiche, cioè costruite automaticamente e dinamicamente come output di appositi programmi (ad es. utilizzando dati estratti da un Database). La prima soluzione di questo tipo furono le CGI (Common Gateway Interface), attraverso la quale è possibile richiedere ad un “Web server” di invocare un'applicazione esterna e presentare il risultato come una qualsiasi pagina HTML. Per dare al web una maggiore interattività e dinamicità, sono state perseguite due strade. Da un lato sono state aumentate le funzionalità dei browser attraverso un'evoluzione del linguaggio HTML e la possibilità d'interpretazione di linguaggi di come JavaScript. Dall'altro si è migliorata l'elaborazione lato server attraverso una nuova generazione di linguaggi integrati con il Web Server (JSP, PHP, ASP,…) trasformando di fatto i Web Server in Application Server. 1.7.6 Registrarsi in un sito “protetto” Talora i siti, soprattutto quando contengono informazioni personali oppure quando forniscono servizi come e-mail, commercio elettronico, FTP, ecc, richiedono che l'utente si identifichi inserendo il proprio nome utente (login) e la propria password. Queste credenziali sono fissate dall'utente stesso per i siti ove è prevista una autoregistrazione, dal gestore del sito laddove questo si assume anche un ruolo di garante e controllore (esempio banche), fermo restando che la password può in genere essere cambiata restando poi a conoscenza del solo utente. I siti che richiedono login e password si dicono protetti, ma una ulteriore e più valida protezione si ottiene con l'uso di un protocollo sicuro, come HTTPS (vedi RICHIAMO). RICHIAMO: § 1.7.3 - I fondamenti del web. Il browser RICHIAMO: § 1.7.5 - Siti, URL e pagine web 1.7.7 Motori di ricerca I motori di ricerca del WWW sono siti web particolari che hanno l'obiettivo di cercare parole o sequenze di caratteri all'interno del web e costruire un indice dei siti che le contengono. Il lavoro dei motori di ricerca si divide principalmente in due parti: • • Monitorare il web in cerca di nuove pagine o aggiornamenti: essi scandagliano continuamente l'intero World Wide Web e dovrebbero includere nel proprio archivio tutti i siti che riescono ad individuare, a prescindere dalla qualità dei loro contenuti e indipendentemente dal fatto che i siti siano stati trovati per caso o siano stati proposti al motore di ricerca da un utente. Invero, nella scelta dei siti da includere o comunque in quelli da includere per primi c'è spazio per scelte che favoriscano l'uno o l'altro sito. Rispondere alle richieste degli utenti: i motori di ricerca restituiscono un elenco di URL, in funzione della richiesta dall’utente. L’elenco risultante viene strutturato in modo da contenere, oltre all'URL, alcune informazioni essenziali per permettere la scelta dell’utente, quali il titolo della pagina e una parte del testo contenuto. L’utente può quindi cliccare sulla voce dell’elenco per collegarsi al sito. Esempio: Google (www.google.it) e Altavista (http://it.altavista.com/) sono motori di ricerca. 1.7.7.1 Cataloghi e motori di ricerca (approfondimento) Bisogna distinguere i motori di ricerca dalle directory o "cataloghi". Una directory contiene una raccolta di indirizzi di siti web, catalogati per tipologia dei contenuti, che sono stati espressamente selezionati da personale umano. In sintesi, i webmaster e i proprietari di siti web fanno ri- chiesta per venire catalogati e le directory accettano nel proprio archivio solo i siti web che raggiungono, ad esempio, un certo standard qualitativo. Esempio: Virgilio (www.virgilio.it) e Lycos (www.lycos.it) sono directory. Un motore di ricerca vero e proprio, invece, scandaglia il Web utilizzando alcuni programmi chiamati "spiders" (ragni) il cui unico compito è quello di visitare continuamente una grande quantità di siti, leggerne il testo contenuto nelle pagine ed estrarre quelle parole/termini che rappresentano al meglio i contenuti del sito. Per ogni pagina letta, lo spider cerca al suo interno e memorizza ogni link ad altri siti, aggiungendoli ad una lista di siti da visitare. In questo modo, attraverso un processo a catena, lo spider è in grado di ottenere una quantità enorme di URL e pagine web, riuscendo ad incrementare il numero di siti conosciuti. 1.7.8 La ricerca semplice nel web Per effettuare una ricerca di un argomento nel web, basta accedere ad un motore di ricerca e scrivere ciò che si desidera cercare nell’apposito spazio (denomintato anche text box). Avviata quindi la ricerca (agendo sull'apposito pulsante oppure premendo INVIO), il motore restituisce il risultato, cioè l’elenco delle pagine contenenti l’argomento desiderato. Spesso viene indicato anche il numero delle pagine trovate e una sintesi delle stesse. In genere, la lista dei risultati è lunga ed è essa stessa organizzata in pagine che si possono selezionare o con la tecnica "prossima pagina", "pagina precedente" oppure selezionando quella desiderata, il tutto agendo su appositi pulsanti. Se si fornisce al motore una lista di parole, il motore le combina fra di loro secondo i propri algoritmi, se invece si vuole cercare una frase composta di più parole, l'utente deve racchiuderla fra virgolette. Ad esempio, scrivendo "Oh cavallina, cavallina storna" si ha come risultato di ricerca tutte le pagine che contengono esattamente l’intera frase indicata, tra cui anche quelle dedicate alla nota poesia del Pascoli. Talora, i motori di ricerca presentano inoltre opzioni per la ricerca, ad esempio "solo siti italiani", che si possono selezionare attraverso menu o pulsanti. 1.7.9 La ricerca nel web con gli operatori logici Con la ricerca semplice ci si affida all'algoritmo del motore di ricerca per la combinazione fra le parole immesse ai fini della ricerca. Con la ricerca avanzata, invece, un utente un po' più esperto detta egli stesso le regole per la combinazione delle parole. A tale scopo, i motori di ricerca mettono a disposizione appositi operatori (in senso matematico), dei quali i più importanti sono quelli "logici" o "booleani" (AND, OR, NOT), per definire meglio cosa si vuole cercare. Si supponga di lanciare una ricerca con due parole, A e B: • • • • con l'operatore AND si cercano i documenti che contengono A e B, ad esempio cercando Vino AND italiano si trovano i documenti nei quali ci sono le parole vino e italiano (presumibilmente si tratta di vini italiani); con l'operatore OR si cercano documenti che contengono A oppure B, ad esempio cercando Napoli OR Roma si trovano i documenti nei quali ci sono le parole Napoli oppure Roma (oppure entrambe) con l'operatore NOT A si cercano documenti che non contengono la parola A; ad esempio cercando NOT Napoli si trovano i documenti nei quali non c'è la parola Napoli gli operatori di cui sopra si possono anche usare in combinazione fra loro: ad esempio, cercando Vino AND italiano NOT bianco" si trovano documenti sui vini italiani rossi e rosati (NON bianchi). 1.7.9.1 La ricerca nel web con altri operatori (approfondimento) In alternativa agli operatori AND, OR, NOT, si possono anche utilizzare i simboli +(più), |(pipe) e –(meno), loro equivalenti nell’ordine ma scritti diversamente. Ad esempio, • • scrivendo +shakespeare+otello+rappresentazioni chiedo al motore di cercare le rappresentazioni dell'Otello di Shakespeare. scrivendo +shakespeare-otello–amletose chiedo al motore di cercare tuuto ciò che riguarda Shakespeare, ma non Otello e non Amleto. Alcuni motori di ricerca usano anche altri operatori, ad esempio il NEAR (in inglese VICINO) che ha il significato di AND tra due parole "purché abbastanza vicine"; in qualche caso il risultato della ricerca con NEAR è completato da un "indice di rilevanza", tanto più alto quanto più le due parole sono vicine, in altri il risultato è positivo solo se le due parole distano fra loro meno di un limite prefissato (in Altavista, ad esempio, NEAR dà risultato positivo solo se le due parole distano fra loro di meno di 50 parole). Ad esempio, cercando Vino NEAR bianco si trovano i documenti nei quali compare “vino bianco” e "bianco vino" con la massima rilevanza, ma anche "vino rosso e bianco" (con rilevanza leggermente inferiore) e, purtroppo, anche un "vino rosso su un cavallo bianco". In alcuni motori, come ad esempio Google, è possibile raffinare ulteriormente la ricerca in base a nuovi criteri più restrittivi (allo scopo esiste una apposita sezione di Ricerca avanzata). L’esempio di Google, mostrato in figura, evidenzia come un motore di ricerca possa presentare una serie di scelte opzionali che rendono la ricerca notevolmente più accurata (ad esempio posso ricercare solo i documenti in formato pdf). 1.7.10 Ricerche in contesti diversi dal web Mediante apposite opzioni, i motori di ricerca nel web possono effettuare ricerche mirate, ad esempio nelle directory (cataloghi), nei gruppi, nelle news oppure fra le immagini disponibili in Internet. Ma i motori di ricerca operano anche in contesti diversi dal www e vi operano con le stesse metodologie. Ad esempio, in un sito di un’Impresa commerciale, potrebbe essere disponibile un motore per trovare i prodotti dell’impresa. 1.7.11 Cookies e Memoria cache Durante la visita ad un sito web, il server relativo memorizza nel PC client alcuni piccoli file di testo, detti cookie, che poi consulta nuovamente in una successiva visita.. L'obiettivo primario dei cookie fu all'inizio di natura tecnica, per evitare perdite di tempo in caso di caduta della connessione (essi nfatti mantengono informazioni sullo "stato" dell'attività in atto), ma i cookie furono poi anche usati, e lo sono tuttora, per rilevare alcuni parametri che caratterizzano le abitudini dell'utente nel suo navigare, allo scopo di migliorare le prestazioni percepite del sito. Infatti, sulla base delle abitudini dell’utente, il sito potrà costruire pagine personalizzate allorché l'utente ritornerà su quello stesso sito. Le informazioni dei cookie sono difficilmente interpretabili dall'utente e dovrebbero essere usate solo per facilitarne la navigazione; ciò non è più vero in quanto vengono usati anche per scopi commerciali. Quando un browser accede ad un sito, ne memorizza le pagine (o alcune di queste) in una specifica cartella (Temporary Internet Files) del disco locale, detta anche memoria cache delle pagine. È questa una tecnica per ottimizzare i tempi di accesso quando, eventualmente, l'utente voglia rivisitare il sito: infatti, quando l'utente chiede una pagina, il browser la cerca dapprima nella memoria cache e, se qui presente, risparmia il tempo necessario per scaricarla. NOTA: Nel contesto dell'hardware, con il termine memoria cache si indica una memoria intermedia fra il processore e la RAM che svolge funzioni analoghe alla cache software qui illustrata. 1.7.12 La netiquette Entrando in WWW, si accede ad una massa enorme di dati. È importante da un lato valutare l’attendibilità di questi dati, dall’altro portare rispetto verso quanti, spesso in maniera volontaria e gratuita, hanno prestato e prestano opera per consentire a tutti di accedere a dati ed informazioni altrimenti patrimonio di pochi. Esiste un insieme di regole denominato Netiquette che si potrebbe tradurre in "Galateo (Etiquette) della Rete (Net)" che consiste nel rispettare e conservare le risorse di rete e nel rispettare e collaborare con gli altri utenti, quando si utilizza uno qualunque dei servizi di Internet. Le regole della netiquette sono indicate nella RFC 1855 (http://www.dtcc.edu/cs/rfc1855.html).