Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
VPN
Nel momento in cui si comunica attraverso una serie di passaggi, quindi con qualcuno in
mezzo tra mittente e destinatario, non possiamo mai sapere chi è la vera sorgente o il
vero destinatario. Questo è il principio delle VPN, si può fare apparire che ci stiamo
collegando da un punto diverso da quello reale; molte televisioni applicano uno schermo
geogra co facilmente aggirabile tramite le VPN, creano un sistema tunneling, faccio
passare parte della comunicazione attraverso un canale non visibile tramite il quale
bypasso le barriere.
World-Wide Web
Le reti distribuite sono nate all’inizio come reti di comunicazione tra calcolatori (le
chiamiamo infatti anche reti di calcolatori); ma questo concetto di rete distribuite porta
con sé una serie di caratteristiche negli anni si espande e viene applicato in sempre più
ambiti.
Un primo ambito in cui dimostra di poter a ermarsi è quello del WEB. 37
ffi ff fi fi ffi ff ffi fi
Quando nasce il web? Nasce all’inizio degli anni Novanta, il momento in cui nasce anche
Internet.
Il web è importante perché diventa il contesto d’uso che dimostra di poter essere più
pervasivo, di potersi di ondere in modo più ampio a livello globale e di poter essere
utilizzato dal maggior numero di utenti.
Dove nasce? Fino ad ora l’evoluzione che abbiamo visto si svolge principalmente negli
USA e in Gran Bretagna, il web fa eccezione: nasce a Ginevra sotto iniziativa di un gruppo
di informatici del CERN (centro di ricerca scienti ca nanziati da tutta l’UE) che ricevono il
mandato di costruire un sistema di interscambio di documenti tra ricercatori del centro.
Proposero il World-Wide Web, nella loro visione non era solo interno, da subito hanno
pensato a qualcosa che si potesse sviluppare a livello globale. Iniziarono a lavorarci nel
’89, nel ’90 crearono un primo prototipo sulla piattaforma NeXT, un sistema operativo
gra co a cui aveva lavorato Steve Jobs negli anni in cui aveva lasciato la Apple.
All’inizio viene utilizzato soprattutto come uno strumento per navigare il testo. Gran parte
dei sistemi operativi che si usavamo all’epoca erano basati su navigazione attraverso riga
di comando, quindi mi sposto nel le system scrivendo i percorsi.
La prima pagina web era un testo; ci sono collegamenti ipertestuali. Il web nasce con
l’idea di costruire un ambiente ipertestuale.
Questa proposta venne accolta, nel ’92 abbiamo 26 server web nel mondo, nel ’96 sono
più di 200, quindi inizia questa crescita esponenziale.
Nel ’93 venne rilasciato Mosaic, il primo browser pensato per il grande pubblico e il primo
sviluppato da un team di professionisti. Tutti gli sforzi che c’erano stati no ad allora per
far crescere il web erano “volontari”, gente che amava questa idea e collaborava.
Il Web nasce il Europa, ma si evolve poi al di fuori, soprattutto negli USA. Mosaic infatti
nasce come una startup di studenti dell’università dell’Illinois. Mosaic inizia a de nire gli
schemi essenziali della navigazione web, quindi l’idea della barra d’indirizzo, i bottoni
(next ecc.), la cronologia.
C’erano tanti applicativi simili al web che non hanno avuto la stessa di usione e
successo; è molto importante infatti confrontarlo con gli altri strumenti per capire le
caratteristiche fondamentali che hanno permesso a un sistema distribuito di diventare
globali, e che quindi ci insegnano le caratteristiche fondamentali di un sistema distribuito.
FTP: è un protocollo, molte applicazioni lo utilizzavano per lo scambio di documenti
ARCHIE (arcai): un programma in grado di indicizzare dei contenuti che venivano
pubblicati su internet.
WAIS: server che consente di fare ricerca nel testo, ad esempio una parola chiave.
GOPHER: molto simile al web, è un meccanismo per cui si hanno dei server nel quale si
possono caricare dei documenti e al loro interno troviamo link che permettono di
spostarsi ad altri documenti. Inizialmente gopher permetteva di spostarsi solo al suo
interno.
Non c’erano solo questi programmi, ma anche quelli proposti dalla comunità di
sviluppatori di ipertesi; già dagli anni 70 si sviluppa un movimento di esplorazione
dell’ipertestualità che coinvolge anche i letterati.
Una serie di applicativi sono hypercard (database che funziona tramite cine che
consentono di muoversi da un ambiente all’altro), microcosm (server di rete locale che
permette di sviluppare gli ipertesti). Questa comunità si era resa conto che la
comunicazione ipertestuale provocava un sovraccarico cognitivo rispetto alla lettura
consequenziale, quindi sviluppano degli strumenti che hanno l’obiettivo di supportare la
navigazione del lettore (come la barra di navigazione, le briciole di pane, quindi la storia
del percorso che ho seguito e che volendo posso ripercorrere al contrario, la preview
ecc.). 38
fi ff fi fi fi fi ff fi
Nel ’92 Tim Berners Lee e Robert Cailliau vanno alla conferenza nazionale degli ipertesi e
presentano il Worldwide web, ricevendo giudizi negativi, ma hanno la loro visione basata
sull’idea che il www deve essere un sistema distribuito con caratteristiche particolari.
Parte dei motivi del successo del web sono legati a principi di accettazione della
tecnologia, altri aspetti sono legati alla scalabilità tecnica del sistema.
Accettazione dell’energia
Devo o rire all’utente qualcosa che per lui sia riconoscibile, deve avere caratteristiche che
già la comunità conosce, successivamente posso aggiungere qualcosa che rende
innovativo il prodotto. Negli anni 80 le persone per comunicare usano i testi.
Scalabilità
È un termine che può essere polisemico, ma fa riferimento al fatto che un sistema è
scalabile quando cambiando la dimensione del sistema, il sistema continua a funzionare
(o i costi di funzionamento non crescono in modo signi cativo).
Questa era anche una delle caratteristiche delle reti distribuite dei calcolatori: siccome la
comunicazione è progettata a livello locale, se aggiungo dei nodi non si deve modi care
qualcosa del funzionamento del sistema, allo stesso modo se tolgo i nodi.
Il protocollo web, http, è il protocollo di comunicazione più semplice che si possa
immaginare.
Sempli ca la navigazione ipertestuale, non ha le “briciole di pane”, sono tutte cose che
verrano costruire come elementi successivi e non fa parte dell’architettura del sistema
perché se ne dipendesse ogni volta che si aggiunge un nodo si dovrebbe aggiornare la
mappa.
L’altro elemento è legato al modello dei dati: si punta su formati portabili, che possano
essere facilmente adottati da sistemi eterogenei.
Adesso dobbiamo vedere quali sono gli standard implementativi del web, che gli
permettono di funzionare. Questi standard sono fondamentali per poter poi costruire altro.
Quelli fondamentali sono tre:
Identi cazione
1. delle risorse: è anche un punto di forza, è l’idea di avere un sistema
univoco per identi care le risorse, un po’ come funziona nel le system. Propongono
questo metodo URI (uniform resource identi er). Ormai lo usiamo dappertutto.
Interazione:
2. propongono questo HTTP (hypertext transfer protocol), un protocollo per
trasferire ipertesti. È un protocollo applicativo il suo lavoro è fare in modo che dei
programmi possano scambiarsi dei documenti.
Formati
3. dati: propongono l’HTML (hypertext markup language), un formato di testo
che consente di descrivere dei documenti di testo in cui l’ipertestualità è ridotta al
minimo.
Oggi il web non funziona più solo con html, ma normalmente si utilizzano html javascript e
CSS per la maggiore.
HTTP
È un protocollo molto semplice che funziona attraverso l’idea che i nodi connessi nella
rete possono assumere due funzioni, quella di client o di server. Se sono client fanno delle
richieste, se sono server rispondo alle richieste.
È un protocollo generico: di per sé non pone nessun vincolo rispetto ai formati che
devono essere scambiati nei le, quindi il client e il server possono scambiarsi qualsiasi
tipo di le, non solo html.
È privo di stato: l’applicazione non tiene memoria delle interazioni che ci sono state;
anche questo elemento spesso è indicato con e una debolezza del web, è stato
39
fi fi
fi ff fi fi fi fi fi fi
potenziato con ad esempio i cookie, perché senza memoria, ad esempio, il carrello della
spesa non può essere aggiornato. Questo avviene però successivamente, http gestisce la
singola richiesta, quella dopo è indipendente. Queste caratteristiche per dare la massima
indipendenza ai nodi che si collegano.
03/04/24 LEZIONE 13
HTTP
I ruoli: in modo più tecnico prossimo chiamare il client l’user-agent, quindi un browser o
un robot, ovvero un software che naviga nel web per scaricare contenuti;
Origin-server è il server che mantiene la risorsa richiesta.
Ci possono essere altri ruoli che più o meno sono tutti del genere che abbiamo visto
parlando delle VPN.
Il proxy è un’applicazione intermedia che sta tra l’user agent e l’origine server e viene
usato o per controllare la navigazione o per ottimizzarla (un’organizzazione può decidere
che i clienti interroghino i proxy). Il vantaggio è quello di tracciare la comunicazione e
ltrare, ma anche appunto ottimizzare i tempi delle richieste; il proxy mantiene le pagine
più richieste, quindi non deve chiederle all’origine server ma le fornisce direttamente.
Periodicamente il proxy deve aggiornare le sue pagine
Il gateway è come un proxy, ma il client non è consapevole. Il proxy di solito lo con guro
nelle preferenze del sistema operativo; a volte è lo stesso browser che ti permette di
speci carlo. Il Gateway invece è direttamente inserito dalle con gurazioni di rete.
Il tunnel è un’applicazione intermedia che inoltra passivamente le richieste.
Cookie
Un’estensione del protocollo utile è quella dei cookie, molto utilizzati. Adesso si sta
cercando di superarli, google ha proposto un proprio sistema che non si è ancora
a ermato in modo di uso.
Come funzionano: il client fa una richiesta al server. Il server non può mantenere memoria
di quello che è successo con l’interazione del client, quindi si associano delle sequenze
che hanno l’unico scopo di identi care un’interazione alla richiesta. In questo modo,
quando verranno fatte nuove richieste con quella stringa, il server riconoscerà il client che
ha già incontrato.
I cookie consentono di tenere traccia dell’attività dei clienti, l criterio che ha sollevato
l’attenzione delle autorità, infatti p st