Capitolo 1.   La rete Internet

In questo capitolo vengono date alcune informazioni sulla genesi ed il funzionamento della rete Internet e del WWW (World Wide Web) (denominato più brevemente Web).

1.1   Cenni storici

Internet è una rete internazionale formata dall'interconnessione di molte migliaia di reti di computer. La sua storia inizia alla fine degli anni cinquanta e precisamente nel 1958 quando negli Stati Uniti viene creata, nell'ambito del Dipartimento della Difesa, un'agenzia di nome DARPA ( Defence Advanced Research Projects Agency).

Il suo scopo fondamentale era quello di riacquisire il primato tecnologico nei confronti dell'Unione Sovietica che nel 1957 aveva lanciato il primo satellite artificiale della storia, lo Sputnik e qualche anno dopo inviato anche il primo uomo, Yuri Gagarin, in orbita.

Siccome il programma spaziale venne poi assegnato alla NASA, DARPA si dedicò alla ricerca informatica di base.

Stante il clima di ostilità esistente in quel periodo tra le due superpotenze, la cosiddetta «guerra fredda», DARPA doveva in particolare progettare un sistema di telecomunicazioni in grado di funzionare in caso di un attacco bellico particolarmente distruttivo, anche di tipo nucleare.

I primi studi portarono alla definizione della rete Arpanet cioè di quella che può essere considerata l'antenata di Internet: essa non aveva nessuna autorità centrale, i nodi che ne facevano parte erano autonomi ed in grado di operare in una situazione di forte instabilità in modo che la rete potesse sopportare anche la distruzione di uno o più dei nodi stessi.

Il 30 agosto 1969 venne installato il primo nodo presso l'Università della California a Los Angeles dotata di un computer «Processore di messaggi di interfaccia Honeywell numero 1»; la sua attivazione avvenne il 2 settembre 1969 e questa può essere a tutti gli effetti considerata la «data di nascita» di Internet.

Nel giro di 3 mesi i nodi divennero quattro: Stanford Research Institute, Università della California a Santa Barbara, Università dello Utah.

Nel corso degli anni '70 molte istituzioni collegarono le loro reti o i loro computer ad Arpanet e gli utenti iniziarono ad usare la rete principalmente per scambiarsi a distanza messaggi sotto forma di posta elettronica o per inviare e ricevere file contenenti dati o programmi.

All'inizio degli anni '80, la rete cominciò ad espandersi in modo massiccio e divenne a tutti gli effetti una «rete di reti» utilizzando ancora Arpanet come dorsale (rete ad alta velocità che unisce tra loro altre reti locali). Nel 1981 i computer collegati erano 213.

Rimanevano però esclusi gli atenei e i centri di ricerca che non avevano rapporti con il Dipartimento della Difesa degli Stati Uniti. Per potere estendere l'accesso a tutti gli interessati fu necessario il disimpegno dei militari che nel 1983 crearono una loro rete (Milnet) mentre Arpanet assunse il nome di Internet e passò all'utilizzo del protocollo di rete TCP/IP (Transmission Control Protocol al posto del precedente NCP (Network Control Protocol).

Nel 1985 si collegavano a Internet 100 reti diverse, divenute 500 nel 1989, saturando completamente la capacità della dorsale Arpanet. Fu a questo punto che la NSF (National Science Foundation), istituita dal governo degli Stati Uniti con lo scopo di favorire la crescita di sistemi di comunicazione tra le università, decise di creare la nuova dorsale Nfsnet al fine di sostituire Arpanet che fu infatti definitivamente smantellata nel 1990.

Adesso esistono molte altre dorsali affiancate a Nfsnet ed è quindi possibile il collegamento ad Internet di migliaia di reti (oltre 50.000 nel 1995) e milioni di singoli computer o host (5 nel 1994, saliti a 110 nel 2000 e a 320 a fine 2004); tale collegamento può avvenire con vari mezzi trasmissivi come: cavi in fibra ottica, cavi coassiali, cavi telefonici, satelliti, onde radio.

Nella tabella seguente viene mostrato il numero di utenti di Internet nel Mondo, negli USA e in Italia negli ultimi anni (i dati sono espressi in milioni):

Anno Mondo (% su ab.) USA (% su ab.) Italia (% su ab.)
1995 14 (0,4%) 10 (4%) 0,45 (0,7%)
1997 90 (2%) 40 (15%) 2,3 (4%)
2000 260 (4,5%) 105 (35%) 10 (16%)
2005 900 (15%) 200 (68%) 28 (49%)

Come si vede da queste cifre in Italia il numero di utenti è stato a lungo molto basso rispetto al totale ma ultimamente sta crescendo con grande rapidità. Anche nel nostro paese Internet si sta affermando come fondamentale mezzo di comunicazione ed efficace strumento di lavoro nonché come sbocco commerciale di notevole importanza; molte aziende infatti stanno spostando del tutto o in parte la loro attività sulla rete dando impulso al cosiddetto «Commercio Elettronico».

La caratteristica più interessante di Internet è che nessuno ne è «proprietario»; tutti gli enti che sono collegati alla rete ne gestiscono una parte e sono responsabili di una frazione dell'immensa mole di informazioni in essa contenute. In ultima analisi anche un utente finale (cioè chiunque di noi) che crea e pubblica delle pagine e le diffonde in rete diviene «comproprietario» di Internet.

Siamo dunque in presenza di un mezzo di comunicazione moderno, in continua espansione, diffuso in tutto il Mondo e soprattutto libero. La differenza con le televisioni, i giornali, le case editrici, discografiche e cinematografiche è infatti evidente: esse sono sempre o quasi di proprietà di qualcuno che, volendo, può manipolarle a piacimento in modo da influenzare le opinioni, i gusti e le scelte degli «utenti» per i propri scopi più o meno leciti (ogni riferimento all'attuale situazione italiana è puramente «voluto»). Inoltre con tali mezzi difficilmente si riesce ad avere un ruolo attivo nel processo di comunicazione, come invece è spesso possibile in Internet.

Grazie al computer e alle reti è nato dunque questo mezzo di comunicazione e di condivisione delle informazioni totalmente libero con ciò smentendo le paure di molte persone (espresse anche in tanti libri o film) che temevano che il calcolatore potesse divenire una sorta di «Grande Fratello» in grado di controllare e condizionare la vita di tutti i cittadini limitandone in modo inaccettabile la libertà. Almeno per ora queste macchine così bistrattate sono servite esattamente al contrario: sono infatti uno strumento di libertà di cui praticamente tutti possono usufruire (almeno nei paesi economicamente avanzati).

Credo infine sia da sottolineare il fatto che Internet è uno strumento e come di tutti gli strumenti se ne può fare un uso buono o uno cattivo. Sono quindi profondamente sbagliate le campagne giornalistiche, per fortuna ora meno frequenti, che, basandosi sulla sostanziale ignoranza del fenomeno, sia da parte del grande pubblico sia, cosa molto più grave, da parte dei giornalisti che le conducono, tendono a criminalizzare Internet dipingendola come la fonte delle peggiori nefandezze ed arrivando ad affermare che darebbe addirittura assuefazione come la droga. Questo modo di dipingere la situazione non fa altro che favorire chi, a vari livelli, vorrebbe introdurre vincoli, controlli, limitazioni, censure, all'interno della rete e riguardo al suo utilizzo.

1.2   Protocolli

Il funzionamento di Internet è basato su tutta una serie di protocolli.

Per protocollo si intendono la procedura e le regole da seguire nel trasmettere e ricevere dati su una rete, oppure su una linea di comunicazione, in modo che gli utenti possano usare macchine elettroniche per scambiare informazioni in modo ordinato, così da riprodurre fedelmente al punto di ricezione quello che è stato inviato dal punto di trasmissione.

Il protocollo specifica il formato dei dati, la temporizzazione dei segnali, la sequenza d'invio e i sistemi per verificare la presenza di eventuali errori di trasmissione.

Prima di parlare dei protocolli di Internet è opportuno introdurre un concetto molto importante su cui essi sono basati, quello della differenza tra clienti e serventi.

Un servente è un computer (con apposito software) che fornisce informazioni o servizi; un cliente è uno strumento o programma, di solito su un computer diverso, che usufruisce delle informazioni o dei servizi.

La caratteristica fondamentale di tutti i protocolli di Internet è il loro essere gratuiti e «aperti» cioè in grado di funzionare con la quasi totalità delle reti fisiche e in maniera indipendente dall'hardware di un particolare produttore.

Il protocollo più importante è senza dubbio il TCP/IP basato sulla tecnologia a «commutazione di pacchetto»: i dati da inviare vengono suddivisi nel nodo (computer) di partenza in diverse parti o pacchetti) il cui cammino attraverso la rete può seguire differenti percorsi; nel nodo di arrivo vengono poi ricomposti controllandone anche l'integrità.

Un primo vantaggio di tale metodo consiste nel fatto che non è necessario né definire né conoscere il cammino da seguire; è compito di appositi dispositivi, i router, instradare i dati evitando le eventuali interruzioni e scegliendo, comunque, il percorso più veloce. Un altro vantaggio è che vengono sfruttati al meglio i canali trasmissivi che non sono mai interamente occupati da un'unica trasmissione come avviene ad esempio nelle comunicazioni telefoniche nelle quali la linea tra il chiamante ed il ricevente è occupata per tutta la durata della telefonata (in tal caso si parla di «commutazione di circuito»).

Osserviamo la figura 1.2 e consideriamo che il computer A invii dati al computer B, senza che le due macchine siano collegate in modo diretto in quanto sono presenti altri nodi intermedi (i succitati router, qui indicati con dei cerchi) attraverso i quali vengono smistati i pacchetti; a tale scopo questi ultimi contengono al loro interno l'indirizzo del nodo di destinazione, oltre che di quello di origine.

Figura 1.2.

figure/pagine-web-comm-pac

Se supponiamo che il messaggio inviato da A a B sia suddiviso in tre pacchetti possiamo ipotizzare i seguenti percorsi (fra quelli possibili):

Approfondimenti sul protocollo TCP/IP e sulle reti di computer in generale esulano dagli scopi di questo corso, si consiglia la consultazione di testi specifici.

Altri protocolli e servizi importanti in Internet sono:

1.3   Intranet e Extranet

Una Intranet è una rete invariabilmente imperniata sul protocollo TCP/IP e che spesso utilizza serventi Web (di cui parliamo in seguito) come punto di centralizzazione e pubblicazione delle informazioni. Viene realizzata entro i confini di una azienda o di una qualunque organizzazione ed è invisibile o solo parzialmente visibile dall'esterno o perché non è collegata con Internet o perché è collegata tramite un dispositivo firewall che ha il compito di proteggere i dati dalle intrusioni esterne non desiderate. Viene utilizzata come struttura per convogliare informazioni utili alle attività interne e per facilitarne l'uso da parte degli utenti. In una Intranet si usano infatti gli stessi strumenti di Internet, come ad esempio i programmi di navigazione grafici, molto «amichevoli» e facili da usare e i programmi per la gestione della posta elettronica.

Una Extranet è invece l'opposto di Internet, nel senso che è ancora una rete geografica di ampia portata imperniata sul protocollo TCP/IP che però viene utilizzata unicamente per scopi privati e alla quale possono accedere solamente le persone autorizzate da una determinata azienda che ne è gestore oltre che proprietaria. Con essa si ha l'esportazione all'esterno dei confini aziendali delle informazioni che sono reperibili sulla Intranet aziendale. La Extranet comprende le aziende e le persone che si trovano all'esterno del firewall con le quali l'azienda desidera comunque mantenere uno scambio di informazioni. Un esempio tipico è quello di una grossa azienda che crea una Extranet con le aziende sue fornitrici e/o clienti.

1.4   Il World Wide Web

Il World Wide Web rappresenta uno spazio definito all'interno di Internet. Si usa la parola «spazio» perché è difficile descriverlo in altro modo. Infatti non si tratta di un oggetto fisico e nemmeno di un'entità riconducibile a confini geografici, bensì è un sistema di presentazione e soprattutto d'interconnessione tra le informazioni, concepito in modo da favorire il passaggio automatico da un documento all'altro e consentire la «navigazione» in un grande mare informativo, basandosi esclusivamente su ciò che appare sullo schermo del computer. Il World Wide Web fa parte di Internet ma comprende solo una parte delle risorse disponibili in essa, ecco perché lo definiamo come uno degli spazi contenuti all'interno del grande universo Internet.

Il progetto del Web è nato nel 1991 presso i1 CERN (Consiglio Europeo per la Ricerca Nucleare) di Ginevra, quale sistema per semplificare lo scambio di informazioni tra ricercatori scientifici che già utilizzavano Internet per far circolare i loro articoli e pubblicazioni. Il metodo che veniva usato era infatti basato sul protocollo FTP e presupponeva la conoscenza esatta della dislocazione fisica delle informazioni da scaricare dalla rete . Era inoltre essenziale possedere i programmi adatti ad «aprire» i documenti scaricati che potevano essere scritti con gli strumenti più diversi. Infine non era previsto nessun meccanismo di collegamento automatico tra le varie informazioni, cosa invece possibile con gli ipertesti.

Il 13 marzo del 1989, Tim Berners Lee, un ricercatore del CERN che può essere considerato il «padre» del Web, scrisse un documento dal titolo «Information Management: a Proposal" in cui si chiedeva di creare un sistema che rendesse più agevole la condivisione di informazioni, a livello mondiale, tra scienziati e ricercatori, risolvendo i tre problemi prima evidenziati.

La proposta prevedeva tre componenti essenziali:

Il nome stesso del progetto, «Ragnatela estesa quanto il Mondo», sottolinea l'interconnessione tra informazioni; in sostanza si trattava di trasformare l'enorme capacità informativa disponibile su Internet in qualcosa che chiunque potesse usare e consultare con facilità.

Per questo fu necessario definire:

L'architettura risultante è di tipo cliente/servente. Il Web infatti funziona grazie a dei computer, dotati di apposito software, chiamati Web server su cui sono depositati documenti il cui formato e sistema di visualizzazione è conforme alle specifiche definite dal CERN; gli utenti possono usufruire di queste informazioni grazie a dei programmi clienti chiamati browser o navigatori.

Le idee di Berners Lee furono considerate interessanti e meritevoli di approfondimento da parte del CERN; così nel giro di due anni, con il contributo del collega Robert Cailliau, si arrivò alla definizione delle basi del Web e fu attivato il primo servente su un computer NeXT.

Fondamentale fu comunque la creazione dei primi strumenti utili alla fruizione delle informazioni: il primo browser che si chiamava www e aveva una interfaccia a caratteri, iniziò a essere utilizzato su scala ridotta nel marzo del 1991.

Un'altra tappa determinante fu l'installazione di WAIS (Wide Area Information Servers) per consentire dal Web la ricerca di documenti su scala mondiale usando come parole chiave i termini contenuti nel testo dei documenti stessi.

Verso la fine del 1991, il CERN, annunciando l'esistenza del progetto a tutti gli scienziati impegnati nella ricerche sulla fisica nucleare per le alte energie, e rinunciando ad ogni diritto d'autore sul progetto stesso, diede il battesimo ufficiale al World Wide Web.

Nel gennaio del 1993 erano operativi 50 serventi Web, alla fine dello stesso anno erano diventati 623.

La progressione negli anni seguenti è stata impressionante:

Periodo Numero di serventi Web
gennaio 1993 50
dicembre 1993 623
giugno 1994 2.738
dicembre 1994 10.022
giugno 1995 23.500
gennaio 1996 90.000
gennaio 1999 4.000.000
gennaio 2000 10.000.000
gennaio 2001 27.500.000
gennaio 2002 37.000.000
gennaio 2003 35.000.000
gennaio 2004 46.000.000
gennaio 2005 58.000.000
gennaio 2008 180.000.000 (1.500.000 Italiani)

Un ruolo fondamentale in questa crescita è stato assunto dai browser grafici il primo dei quali si chiamava Viola e funzionava su terminali X-Window cioè su terminali grafici collegati in rete locale ad a un minicomputer dotato del sistema operativo Unix.

Nel 1993 l'NCSA ( National Center for Supercomputing Applications) diffuse la prima versione di Mosaic per X-Window sviluppata da Marc Andreesen.

Per molto tempo Mosaic è stato il principale browser per il Web ed il suo impiego si è esteso alle piattaforme più diverse, tra cui anche Windows; dal suo ceppo sono nati molti dei programmi di navigazione successivi.

Nel 1994 nacquero le prime società di software specializzate nella produzione di prodotti per il Web e per Internet. Una delle più importanti fu la Mosaic Communication Corporation fondata in California dallo stesso Marc Andreesen che alla fine del 1994 rilasciò un navigatore per Windows, Macintosh e X Window che si chiamava Netscape Navigator. Il prodotto divenne talmente popolare da trasferire il proprio nome anche all'azienda medesima, che divenne Netscape Communications.

Nel luglio del 1994 il CERN iniziò a trasferire il progetto Web a un altro ente, il W3C ( World Wide Web Consortium), al quale partecipano vari soggetti come il MIT (Massachusetts Institute of Technology) e, per l'Europa, l'INRIA (Institut National de Recherche en Informatique et en Automatique - Istituto nazionale della ricerca sull'informatica e sull'automazione). Tale ente, libero e senza fini di lucro, è attualmente impegnato in attività finalizzate all'evoluzione delle tecnologie e nella definizione degli standard del Web ed è presieduto da Tim Berners Lee.

Nel frattempo Microsoft, che in un primo momento aveva sottovalutato l'importanza commerciale di Internet, lanciò sul mercato il proprio browser Internet Explorer, scatenando quella che fu denominata «guerra dei browser» contro il programma della Netscape.

La battaglia venne vinta nettamente e velocemente da Internet Explorer grazie al fatto che, a partire da Windows 98, il programma di navigazione veniva incorporato nel sistema operativo. Questo avvenne malgrado il programma concorrente non fosse inferiore dal punto di vista tecnologico e anzi avesse il vantaggio di essere multi-piattaforma (era disponibile per macchine Unix o GNU/Linux).

Netscape Navigator, che nel 1997 era il navigatore nettamente più diffuso, nel 2000 era ridotto ad un ruolo del tutto marginale; inoltre l'azienda Netscape non esisteva più essendo stata acquistata nel 1998 da AOL (American On Line) (a sua volta assorbita nel 2000 in Time Warner).

Per fortuna nel 1998, con una mossa che fece scalpore, Netscape non solo aveva reso gratuito il suo programma (scelta ormai obbligata dato che il programma concorrente era gratuito) ma aveva anche deciso di rilasciare il codice sorgente. Questo permise la nascita del progetto Mozilla, interamente Open Source, dell'omonimo browser e di tanti altri basati sullo stesso motore di rendering denominato Gecko: Epiphany, Galeon, Firefox, Netscape (rinato a nuova vita grazie al codice del progetto Mozilla).

Questi oggi sono i programmi di navigazione di riferimento fuori dalla piattaforma Microsoft (in GNU/Linux soprattutto) e, grazie alle loro ottime qualità, si stanno ritagliando uno spazio significativo anche fra gli utenti Windows (come nel caso dell'ottimo Firefox utilizzato, nel 2008, da circa il 20% dei «navigatori»).

In queste dispense non vengono approfonditi i temi relativi al software libero, all'open source, a GNU/Linux per i quali si rimanda alla vastissima documentazione presente in rete; ciò non toglie che l'autore privilegi nettamente l'uso di tali strumenti come evidenziato in seguito, ad esempio nel paragrafo sul Web e le basi di dati (paragrafo 7).

1.4.1   Ipertesti e ipermedia

La proposta originariamente avanzata da Tim Berners Lee descriveva in dettaglio l'utilità di avere un sistema che fosse facile da consultare su qualsiasi tipo di computer o terminale, nel quale fosse possibile eseguire ricerche e che creasse una connessione il più fitta possibile tra documenti pubblici e privati, al fine di facilitare e incoraggiare la navigazione tra questi ultimi. L'attuale struttura del Web rispecchia queste specifiche iniziali ed è basata su tre componenti essenziali:

Con il termine «multimedialità» si intende l'uso di una pluralità di mezzi di comunicazione (media) per la trasmissione di messaggi e informazioni; i più importanti tra tali mezzi sono: testo scritto, suoni, immagini, filmati.

L'efficacia della trasmissione di un messaggio è notoriamente legata alla ridondanza dei mezzi elementari con cui essa è effettuata. Pensiamo ad esempio alla narrazione, nella Bibbia, della consegna dei comandamenti a Mosè in mezzo a bufere, lampi, tuoni e forti sensazioni fisiche, oppure alla differenza che corre tra leggere il testo di una commedia o vederla rappresentata, o ancora alla molteplicità di stimoli con cui vengono bombardati i giovani di oggi nelle discoteche.

Recenti studi dimostrano che nella mente umana il ricordo di una comunicazione persiste tanto più quanto maggiore è il numero dei mezzi impiegati per trasmetterla e tale persistenza è massima se c'è interazione tra le parti coinvolte nella comunicazione, come emerge dalla figura 1.4.

Figura 1.4.

figure/pagine-web-perc-ric

Dal punto di vista informatico la multimedialità consiste in un insieme di tecnologie, basate su un personal computer, con le quali vengono combinati testo, immagini, suoni, filmati, per formare un unico messaggio ricco di informazioni ed efficace dal punto di vista della comunicazione. Più precisamente può essere chiamato «sistema interattivo multimediale» un sistema di elaborazione in grado di utilizzare contemporaneamente almeno tre dei seguenti media: testo, grafici, animazioni grafiche, segnali audio, suoni musicali, voce, immagini, filmati.

La tecnologia oggi disponibile è comunque già in grado di assicurare l'integrazione di tutti questi mezzi su una stessa macchina; tutti i personal computer sul mercato sono infatti equipaggiati con scheda audio, casse acustiche, scheda video in grado di gestire filmati, microfono, lettore di DVD-ROM.

Fra le applicazioni multimediali meritano un'attenzione particolare gli «Ipermedia» che sono estensioni degli «Ipertesti».

Gli Ipertesti nascono da un'idea di Ted Nelson che nel 1965 ipotizzò un sistema software in grado di memorizzare articoli, annotazioni, relazioni ed altre informazioni testuali nel quale l'utente poteva navigare liberamente.

Alla base dell'idea di Nelson c'era l'osservazione che l'uomo parla in modo sequenziale perché è dotato di un solo tratto vocale, legge e scrive sequenzialmente perché in tal modo sono organizzati i testi, ma ha una capacità di pensiero molto più sofisticata. Infatti la nostra mente opera spesso per associazione di idee ed è in grado di costruire una vera e propria «rete» di conoscenze molto complessa in cui molti elementi sono in relazione non lineare tra loro.

Gran parte dei sistemi informatici forniscono strumenti, anche sofisticati, in grado di gestire e manipolare dati ed informazioni in modo solo sequenziale e senza alcuna visione integrata. Gli ipertesti invece permettono di stabilire collegamenti e rimandi all'interno dei documenti o fra documenti diversi creando una organizzazione non lineare del testo che non può essere resa su una singola pagina; si aggiunge in pratica una «terza dimensione» al testo in modo da «entrare dentro» di esso.

Pensiamo ad esempio di avere un testo riguardante Foscolo e leggiamo che in un certo periodo della sua vita egli fu ammiratore di Napoleone; se vogliamo maggiori informazioni su quest'ultimo dobbiamo cambiare testo e passare ad uno che lo riguardi. Con un ipertesto invece si può passare con un semplice comando (un «click» del mouse sul nome Napoleone) alle informazioni che ci interessano. Inoltre possiamo continuare la nostra «navigazione» nel documento in modo molto libero sfruttando i collegamenti in esso presenti ed arrivando ad esempio alla Napoli dei primi anni dell'800 passando per Gioacchino Murat, cognato di Napoleone, che fu re nella città in quel periodo.

Tecnicamente gli ipertesti si basano su grafi (reti) di nodi (concetti, idee, documenti) tra loro collegati e vengono creati con appositi programmi e con tecniche di cui comunque l'utilizzatore non deve preoccuparsi.

I collegamenti tra i vari documenti avvengono grazie a dei riferimenti. Il riferimento (detto iperlink o collegamento ipertestuale) deve essere evidenziato in qualche modo rispetto al resto del testo, ad esempio con un colore diverso o con la sottolineatura.

Si parla poi di «Ipermedia» quando in un ipertesto vengono integrati suoni, immagini, filmati ed altro ancora.

Nell'esempio precedente si potrebbe pensare di avere a disposizione, nello stesso documento, anche l'immagine digitalizzata di un quadro raffigurante Napoleone oppure un paesaggio della Napoli di inizio '800 o, ancora, l'attacco della Terza Sinfonia di Beethoven che era stata inizialmente dedicata al Bonaparte.

1.4.2   Come funziona il Web

Come abbiamo visto gli ipertesti e la multimedialità (e quindi gli ipermedia) sono componenti essenziali del Web che, non a caso, viene anche definito «iperspazio».

In essi l'elemento fondamentale è l'iperlink attraverso il quale si può passare ad un'altra sezione dello stesso documento, ad un altro documento che può trovarsi sul nostro computer, sul servente a cui siamo collegati o addirittura su un altro servente situato in qualunque parte del mondo purché collegato ad Internet.

Se il sistema ipertestuale è ben fatto il documento a cui ci si collega contiene un link a quello di provenienza così che sia sempre possibile ritornare sui propri passi. Siccome questo non sempre avviene, i browser sono in grado di tenere traccia del percorso e permettono in qualsiasi momento di muoversi a ritroso (tasto [Indietro]).

L'elemento cardine per il funzionamento del Web è il protocollo HTTP che è basato sul modello cliente/ servente e si appoggia sul TCP/IP.

Si tratta di un protocollo per lo scambio di documenti ipertestuali molto semplice che regola l'interazione tra il nostro navigatore e il servente con cui quest'ultimo di volta in volta si connette a seguito di una nostra richiesta diretta oppure seguendo un collegamento ipertestuale.

Il dialogo tra queste due entità si svolge in quattro fasi:

Le prime tre fasi sono di solito segnalate nella finestra del browser con scritte che ci spiegano cosa sta succedendo. Nella richiesta il programma di navigazione deve specificare al servente quale protocollo deve essere utilizzato (HTTP oppure FTP o altro ancora) in quanto lo stesso browser può essere utilizzato per collegarsi anche con serventi che non fanno parte del Web e che offrono servizi Internet più tradizionali, come appunto lo scaricamento di file attraverso il protocollo FTP.

Dopo che la pagina è giunta sulla nostra macchina la connessione col servente s'interrompe e viene ripresa quando si chiede di passare a una seconda pagina sul medesimo o su un altro servente. Questo talvolta vale anche per il percorso a ritroso, dove si chiede di visualizzare una seconda volta una pagina che avevamo già visto.

L'eventuale presenza di grafica rende il procedimento abbastanza lento poiché i file corrispondenti agli elementi grafici (spesso molto voluminosi in termini di occupazione di memoria) devono essere scaricati autonomamente rispetto alla pagina in cui sono contenuti.

Una soluzione pratica per eliminare questo inconveniente consiste nel creare una cache o memoria di transito sul disco della nostra macchina oppure sul servente che fa da proxy, cioè da porta di accesso verso Internet, nella nostra rete privata.

Così, ogni volta che chiediamo una pagina già vista, questa viene caricata dal disco locale oppure dal disco del servente locale anziché essere ritrasferita da Internet.

Un sistema per non dover scaricare continuamente la stessa pagina consiste nel salvarla sulla propria macchina come file autonomo e nel richiamarla dall'interno del browser come si richiamerebbe un qualsiasi documento dall'interno di un word processor (tra l'altro, alcuni programmi di elaborazione dei testi permettono di visualizzare e modificare queste pagine scaricate in locale senza dover ricorrere a programmi di navigazione specializzati).

Maggiori dettagli sul funzionamento del protocollo HTTP vengono forniti nell'ambito del capitolo riguardante il Web dinamico (paragrafo 6.5).

1.5   Gli indirizzi delle risorse in Internet

Abbiamo visto come, con il protocollo HTTP, si possa accedere alle informazioni presenti in Internet; questo però è possibile solo se si conosce l'indirizzo della risorsa (pagina Web o altro) a cui si vuole fare riferimento e cioè il suo URL o URI.

Ogni URL della rete identifica una certa risorsa e non possono esistere due risorse diverse con stesso indirizzo.

Spesso si dice anche che un URL identifica un sito Internet dove con il termine sito si intende la sezione del disco di un particolare computer nella quale risiedono dei documenti Web; il significato viene però solitamente esteso fino a comprendere anche la macchina nel suo complesso e l'organizzazione che la usa per pubblicare le proprie informazioni in Internet.

Un URL è una stringa che inizia con il nome del protocollo da utilizzare per reperire la risorsa (esempio http://).

Per illustrare correttamente la sua struttura occorre però fare prima riferimento al modo in cui i computer sono identificati in Internet (o in qualsiasi rete basata su protocollo TCP/IP): ogni computer è individuato univocamente da un indirizzo IP o IP-address che nella versione IPv4 (Internet Protocol version 4) è composto da quattro ottetti di bit (cioè da quattro gruppi di 8 cifre binarie).

Ad esempio il servente Web del Ministero della Pubblica Istruzione è su un computer che ha indirizzo «11000001.11001110.00001111.11001001».

Come si vede l'IP-address è espresso con quattro numeri binari (separati da un punto); ciò si giustifica in quanto sappiamo benissimo che il linguaggio dei computer è il sistema binario costituito dai soli simboli 0 e 1. Per comodità però gli indirizzi IP vengono sempre indicati «tradotti» in decimale e così il precedente diventa «193.206.15.201».

Gli indirizzi IP sono suddivisi in classi e ne esistono alcuni che sono riservati per usi speciali (ad esempio quelli che iniziano con 10 oppure da 172.16 a 172.31, o con 192.168 e che sono usati per le reti private).

L'argomento dell'indirizzamento IP richiederebbe comunque una trattazione ben più ampia di questi brevi cenni ma questo va al di là degli scopi di queste dispense.

Per maggiore completezza si deve aggiungere che, per usufruire di un certo servizio in Internet, l'indirizzo della macchina che lo fornisce è solo una parte dell'informazione che il cliente deve conoscere; è infatti necessario indicare anche la «porta», cioè un numero intero compreso tra 0 e 65.535 che identifica il programma attivo sul servente e adibito a fornire quel servizio.

Il dialogo in rete tra cliente e servente avviene infatti grazie alla creazione di una coppia di socket, uno per ognuna dei due nodi di rete coinvolti, costituiti dall'indirizzo IP e dalla porta da essi utilizzati.

La sintassi con cui si indicano i socket è: «IP:Porta», ad esempio 193.206.15.201:80.

Nell'ambito del TCP/IP esistono una serie di porte dette «porte ben note» (quelle comprese tra 0 e 1.023) che sono associate ai servizi di rete più diffusi e importanti; ad esempio: porta 20 e 21 per FTP, 22 per SSH, 23 per TELNET, 25 per SMTP, 80 per HTTP, 110 per POP3.

Si noti che la conoscenza della porta utilizzata da un certo servizio è importante solo relativamente al servente in quanto solitamente il socket del cliente viene creato (dal programma cliente) prendendo il proprio indirizzo IP e un numero di porta scelto casualmente e maggiore di 10.000.

Quindi se consideriamo ad esempio una connessione HTTP tra i due nodi 193.206.15.201 (servente) e 88.82.114.44, i socket coinvolti possono essere: 193.206.15.201:80 e 88.82.114.44:15543.

Il fatto che il servente offra il servizio sulla porta 80 non è scontato, ma, siccome tale porta è quella convenzionalmente associata al servizio HTTP, praticamente tutti i serventi Web sono configurati per rispondere alle richieste indirizzate su di essa.

Per lo stesso motivo non è necessario, quando si naviga con un browser, indicare, oltre l'indirizzo del servente, anche la porta cui collegarsi in quanto viene impostata automaticamente a 80 dal programma di navigazione.

I socket di rete e la loro programmazione richiederebbero approfondimenti che esulano dagli obiettivi di queste dispense; chi fosse interessato può consultare il documento, dello stesso autore, «Programmazione dei socket di rete in GNU/Linux» reperibile all'indirizzo <http://www.linuxdidattica.org/docs/altre_scuole/planck/>.

L'assegnazione degli indirizzi di rete (e delle porte ben note) viene curata da una organizzazione senza fini di lucro, l'ICANN (Internet Corporation for Assigned Names and Numbers, www.icann.org), la quale a sua volta delega ad enti nazionali la gestione degli indirizzi di rete nei vari paesi. In Italia tale gestione è stata curata fino al 1998 dal GARR (Gruppo Armonizzazione delle Reti di Ricerca) e adesso dalla RA (Registration Authority) italiana, che fa capo al CNR (Consiglio Nazionale delle Ricerche), in base alle indicazioni fornite dalla Naming Authority italiana (che opera in stretto rapporto con il Ministero delle poste e delle telecomunicazioni). Maggiori dettagli sull'assegnazione degli indirizzi IP si possono trovare all'indirizzo <http://www.nic.it>.

Un difetto del complesso, ma efficiente, metodo di indirizzamento degli host di Internet è che gli indirizzi sono limitati e con gli attuali ritmi di crescita della rete si corre seriamente il rischio di esaurire entro poco tempo tutti gli indirizzi disponibili. Per questa ragione è stata sviluppata recentemente una versione evoluta del protocollo IP, denominata IP Next Generation o IPv6 (Internet Protocol version 6), basata su un sistema di indirizzamento a 128 bit che assicurerà un massiccio incremento nella disponibilità di indirizzi di rete.

L'indirizzo numerico comunque non è utilizzabile comodamente e non è facile da ricordare; molto meglio poter individuare i vari computer con un nome. Questo è possibile grazie all'introduzione nella rete del DNS (Domain Name Service).

Il DNS è il meccanismo con cui si riesce a indirizzare le risorse su Internet utilizzando una notazione mnemonica, allettante anche dal punto di vista commerciale, garantendo al tempo stesso una individuazione univoca della risorsa sulla rete.

Attraverso il DNS ogni host di Internet può essere dotato di un nome composto da stringhe di caratteri. Tali stringhe, a differenza che nell'indirizzo numerico, possono essere di lunghezza illimitata.

L'indirizzo del servente del Ministero della Pubblica Istruzione diviene quindi www.istruzione.it che è senz'altro più comodo da utilizzare e da ricordare.

Come si può vedere, anche i nomi mnemonici sono sequenze di simboli separati da punti e questo rispecchia la struttura gerarchica del DNS. Esso infatti suddivide l'intera rete in settori, denominati domini, a loro volta divisi in sottodomini, e così via per vari livelli; ogni sottodominio fa parte del dominio gerarchicamente superiore: all'ultimo livello della gerarchia ci sono i singoli computer.

L'identificativo di un host riassume le varie gerarchie di domini a cui appartiene; illustriamo il concetto servendoci di un altro esempio di nome mnemonico: www.prog-aut.itis.biella.it;

in realtà il nome del computer è solo www, il resto della stringa serve ad indicare chi ha la responsabilità di tale computer e del suo nome. Scorrendo la stringa da destra a sinistra troviamo it che è il dominio di primo livello e sta ad indicare che il computer si trova in una gerarchia facente capo ad una autorità nazionale italiana (it per Italy).

Successivamente abbiamo biella che è un sottodominio di primo livello e indica che l'autorità facente capo alla città di Biella ha ricevuto il permesso da quella immediatamente superiore (in questo da quella del dominio it) di poter a sua volta concedere sottodomini ad altre autorità sottostanti o nomi ai propri computer.

Continuando troviamo itis che è un sottodominio di secondo livello che viene gestito da una autorità per questo delegata da quella di livello superiore (in questo caso biella).

Ancora più a sinistra troviamo prog-aut che è un sottodominio di terzo livello gestito da una autorità gerarchicamente sottostante a quella che gestisce il sottodominio itis.

Questa autorità ha deciso di chiamare www il computer che contiene la pagina iniziale (e presumibilmente anche le altre pagine) del sito in questione.

Naturalmente non tutti gli identificativi sono così articolati; ad esempio in www.linux.it, abbiamo solo il sottodominio di primo livello linux, e l'autorità che lo gestisce ha deciso di chiamare www il computer che ospita la home page del sito.

Il numero e le sigle dei domini di primo livello, o domini principali, sono fissati a livello internazionale e vengono gestiti da appositi organismi. Nell'ambito di ognuno di tali domini possono essere creati un numero qualsiasi di sottodomini rispettando però le regole stabilite da ogni autorità nazionale di gestione del DNS.

Quando il DNS è stato sviluppato, Internet era diffusa, salvo rare eccezioni, solo negli Stati Uniti e la rete venne suddivisa in sei domini principali o gTld (general Top level domain), tuttora esistenti, le cui sigle caratterizzano il tipo di ente o organizzazione che possiede un certo sito:

Quando la rete ha cominciato a diffondersi a livello internazionale sono stati creati altri domini, chiamati regionali o ccTld (country code Tld), uno per ogni nazione, ad esempio:

Talvolta anche negli Stati Uniti si usano suffissi geografici.

A partire dal 2000 l'ICANN ha aumentato il numero dei gTld introducendo anche:

Vediamo altri esempi di URL completi:

http://www.tin.it

è l'indirizzo del sito della Telecom Italia Net;

http://www.deejay.it

è l'indirizzo del sito di Radio Deejay;

http://www.cambridge.edu

è l'indirizzo del sito dell'università di Cambridge negli USA;

http://www.fbi.gov

è l'indirizzo del sito dell'FBI;

http://www.ci.berkeley.ca.us

è l'indirizzo della rete civica della città di Berkeley in California.

Dal punto di vista tecnico il DNS è costituito da un sistema di archivi distribuiti nella rete e collegati tra loro chiamati name server. Essi svolgono la funzione di tradurre i nomi in indirizzi numerici (tecnicamente si parla di «risoluzione dei nomi») per conto degli host o di altri name server. Infatti la comunicazione effettiva tra i computer della rete avviene sempre e solo attraverso gli indirizzi IP numerici.

Quando un computer deve collegarsi ad un altro, con nome ad esempio www.linux.it, esso interroga il proprio name server locale per risolvere il nome in questione (è per questo che quando ci abboniamo con un fornitore di servizio, o «provider» per navigare in Internet, fra i parametri che ci vengono forniti per impostare il browser c'è anche l'indirizzo IP di un servente DNS).

Nel caso il name server non sia in grado di risolvere il nome richiesto, chiede «aiuto» ad un altro servente, detto name server di primo livello la cui scelta è determinata dal dominio principale dell'indirizzo in questione. Questo servente, a sua volta, può non essere in grado di rispondere e ricorre quindi ad altri name server (di livello inferiore). Il procedimento continua fino al reperimento dell'indirizzo del computer cercato, se esiste.

Nello svolgere questo compito il name server memorizza gli indirizzi che ha conosciuto in modo da rispondere più velocemente a successive richieste.

Grazie a questo meccanismo il DNS è sempre aggiornato in modo automatico e non è necessaria alcuna autorità centrale che memorizzi nomi ed indirizzi dei milioni di computer collegati ad Internet.

Come avviene per gli indirizzi IP, la gestione del DNS in un dominio di primo livello viene affidata a degli enti specifici. Questi enti hanno il compito di assegnare i nomi di sottodominio, controllando che non ci siano omonimie, e di gestire l'archivio principale del dominio di cui sono responsabili.

In Italia l'ente che si occupa dell'assegnazione dei nomi di dominio e della gestione dei registri e del name server primario per il ccTld it è ancora la Registration authority sotto il controllo della Naming Authority che ne stabilisce procedure operative e regolamento.

Negli Stati Uniti la gestione dei nomi è affidata a delle compagnie private sotto il controllo della già citata ICANN.

I servizi forniti dalla RA sono rivolti ai provider, cioè a quelle organizzazioni che registrano domini per conto terzi (ad esempio http://www.register.it o http://www.cyb.it) e ai «mantainer», cioè a quelle persone o organizzazioni che gestiscono autonomamente il proprio sito senza rivolgersi ad un provider esterno.

Per concludere notiamo che, quando navighiamo, possiamo tralasciare la scrittura del protocollo prima dell'URL (oltre che, come notato in precedenza, quella della porta dopo di esso) in quanto viene assegnato automaticamente dal programma come http://; inoltre nessuno vieta l'uso di indirizzi numerici per fare riferimento ad un certo sito anche se è molto più difficile ricordarli; ad esempio per collegarsi al sito di Radio Deejay si potrebbe anche digitare l'URL: http://213.92.17.218.

1.5.1   URL completi di percorso e nome di file

Gli esempi visti sinora si riferiscono sempre all'indirizzo della home page dei siti considerati; se si vuole visualizzare una pagina particolare, contenuta in una certa directory del servente, dovremo aggiungere all'URL il percorso completo delle directory ed il nome del file che contiene la pagina desiderata.

Ad esempio: http://www.linux.it/GNU/articoli/index.shtml fa riferimento alla pagina contenuta nel file index.shtml nella directory /GNU/articoli/ del sito www.linux.it.

Si noti come nell'indicazione del percorso si usa il simbolo «/» per indicare le sottodirectory, anziché il simbolo «\» come si fa, ad esempio, in ambiente Windows.

L'importante comunque è conoscere l'URL della pagina iniziale di un sito in quanto da essa, seguendo i vari collegamenti, sarà possibile rintracciare le altre pagine che fanno parte del sito stesso.

A questo proposito è importante notare che non è quasi mai necessario conoscere il nome esatto di tale pagina in quanto è quasi sempre «index.html», o «default.html», o simile e i serventi Web sono predisposti per cercare automaticamente pagine con questi nomi.

Ad esempio se digitiamo l'indirizzo www.linuxdidattica.org oppure www.linuxdidattica.org/index.html otteniamo in risposta lo stesso documento.

1.5.2   URL con altri protocolli

Gli URL permettono di individuare risorse Internet generiche e non solo siti Web come negli esempi visti sinora; è infatti possibile inserire altri protocolli al posto di http:// come ad esempio ftp://.

Questo è il protocollo usato per il trasferimento di file da un computer ad un altro. Di solito i siti FTP si trovano su macchine che si chiamano ftp (e non www) e allora i loro URL saranno simili a ftp://ftp.unipd.it che è il sito ftp dell'Università di Padova.

Altri protocolli come gopher://, mailto:, news: sono molto meno usati.

Importante è invece la stringa file:// (usata al posto del protocollo anche se non è un protocollo).

Con essa si fa riferimento a dei file contenuti sul computer locale, cioè quello che stiamo usando per navigare in Internet.

Ad esempio l'URL file://esempi/indice.htm fa riferimento alla pagina contenuta nel file indice.htm, che è nella directory esempi del nostro computer.

1.6   Collegarsi ad Internet da casa

Per collegarsi a Internet sono necessari (oltre naturalmente ad un computer) un modem o adattatore ed un abbonamento ad un ISP (Internet Service Provider ).

Un ISP è una azienda che fornisce a pagamento o, per i collegamenti più lenti, anche gratis, la possibilità di collegarsi alla rete, di avere una o più caselle di posta elettronica e, talvolta, anche un po' di spazio sul proprio servente per pubblicare pagine in Internet. In Italia possiamo citare tra i provider più noti TIN (Telecom Italia Net ), Libero, Tiscali.

Si deve inoltre avere il protocollo TCP/IP sul proprio computer ed anche il protocollo PPP (Point to Point Protocol). Questo non è un problema visto che questi protocolli sono forniti a corredo di tutti i sistemi operativi più diffusi per personal computer.

Il protocollo PPP consente di usare i protocolli Internet (IP), normalmente utilizzati su connessioni Ethernet, cioè in reti locali, su linee seriali e quindi per i collegamenti via modem attraverso la porta seriale RS-232 o la porta USB del personal computer.

Il MODEM (MODulatore DEModulatore), è una periferica che permette il collegamento tra computer fisicamente distanti usando le normali linee telefoniche in quanto trasforma (in un modo che qui non approfondiamo) i segnali digitali (bit), propri degli elaboratori, in segnali analogici adatti a essere trasportati su tali linee (originariamente progettate per la comunicazione vocale).

Se due computer distanti (chiamiamoli C1 e C2) si devono scambiare informazioni saranno necessari due modem (rispettivamente M1 e M2), uno per ogni elaboratore, collegati alla linea telefonica; se il computer C1 invia un messaggio questo sarà convertito (modulato) in analogico da M1 e instradato sulla linea; all'arrivo presso C2 il messaggio viene riconvertito (demodulato) in digitale da M2.

Se è C2 a inviare un messaggio i ruoli dei dispositivi sono naturalmente invertiti.

I modem si classificano secondo la loro velocità, misurata in base ai bit al secondo (bps) che riescono ad inviare o ricevere; gli apparecchi di ultima generazione arrivano a 55.600 bps ed i loro prezzi sono ormai molto bassi (poche decine di euro).

Da qualche tempo è possibile collegarsi al provider anche con l'ADSL (Asymmetric Digital Subscriber Line), che sfrutta, nelle zone raggiunte dal servizio, le normali linee telefoniche. In tal caso si possono raggiungere velocità tra i 2 Mbps e i 20 Mbps (teorici) in download (trasferimento dei dati dal provider al nostro computer) e tra i 128 Kbps e i 512 Kbps (sempre teorici) in upload (trasferimento inverso); ovviamente gli abbonamenti ADSL sono tutti a pagamento.

Anche per l'ADSL è necessario un dispositivo aggiuntivo che può essere un modem ADSL USB oppure un routerADSL a cui ci si collega con un cavo di rete; la seconda alternativa è migliore perché spesso il router ADSL ha anche funzioni di switch (con almeno quattro porte) e talvolta pure di Access Point WiFi, a costi sempre abbastanza contenuti.

Nel caso del modem ADSL, usare il termine «modem» è comunque scorretto in quanto si tratta solo di un adattatore; infatti non è necessaria alcuna modulazione o demodulazione data la natura digitale dei segnali ADSL.