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
PACKET SWITCHING
Le reti distribuite lavorano attraverso una commutazione di pacchetto (Packet Switching): una tecnica per
condividere un canale di comunicazione tra più nodi in modo non deterministico, suddividendo
l’informazione da trasferire in pacchetti trasmessi individualmente o in sequenza. La scelta del termine
avvenne per battezzare questa tecnologia di trasmissione di dati e si deve a Donald Watts Davies, fisico del
British National Physical Laboratory. Grazie a questo sistema il gestore non interveniva sulla modalità di
comunicazione attraverso la gestione dei canali, ma poteva differenziarsi a livello di servizio.
Vedi: https://en.wikipedia.org/wiki/Packet_switching#/media/File:Packet_Switching.gif
IL PROGETTO ARPANET FINO ALLA NASCITA DI INTERNET
Lo sviluppo di Internet avvenne tramite diversi contribuiti. Nel 1958 venne creato il progetto ARPA che
aveva l’obiettivo di aumentare i finanziamenti per lo sviluppo scientifico. Licklider, importante informatico
statunitense, lavorò per ARPA e al sistema di reti distribuite. Quando nacque la NASA, ARPA si concentrò
prevalentemente sull’informazione e sulle telecomunicazioni. Nel 1969 così nacque ARPANET, un progetto
per interconnettere 4 università americane. Il progetto fu sempre accessibile e non militare, come si cercò
di far credere successivamente. Questo processo si rafforzò col tempo e negli anni ’70 iniziarono i primi
esperimenti tra reti e nel 1977 avvenne la prima interconnessione tra due reti: ARPANET venne connessa
con SATNET di Londra. Verso la fine degli anni ’70, nacque una rete più economica della National Science
Foundation (NSF). Nel 1984 il CERN di Ginevra creò la sua prima rete: TCP/IP. Verso la fine degli anni ’80 poi
le reti iniziarono a fondersi fino ad arrivare alla nascita di INTERNET nel 1991, principalmente dovuta al
CERN (fusione tra CERNET e NSFNET).
Un contributo importante fu sicuramente fornito da piccole aziende informatiche di supporto. Con la
nascita del Personal Computer, vi fu una rivoluzione per queste piccole aziende. Il progetto Macintosh del
1984 fu elaborato per combattere il dominio delle grandi aziende.
Nello stesso periodo, nacque un movimento parallelo antagonista, diventato poi commerciale. Inizialmente
erano giovani appassionati, poi diventarono veri e propri imprenditori del campo. Nel 1977 Ward
Christensen iniziò la realizzazione e distribuzione gratuita del programma open-source “MODEM”, una
demodulazione del segnale audio che passa attraverso la rete telefonica. Nel 1979 nacquero poi le BBS:
Bulletin Board System, le quali connettevano calcolatori sfruttando la rete telefonica e un modem. Nel
1987 poi nacque la MCI Mail, la prima rete commerciale via modem e nel 1991 le BBS entrarono con ARPA
in Internet. Questa cultura inizialmente si diffuse attraverso comunità antagoniste, alla ricerca di canali
alternativi, poi però esse riuscirono ad integrare le proprie intenzioni alle esigenze dello sviluppo di
Internet. Attorno a ciò nacque la cultura Hacker, che oggi tende ad avere una connotazione negativa, ma in
realtà rappresenta chi riesce a raggiungere un contenuto o scoprire delle nuove modalità di navigazione in
rete. Il termine iniziò ad essere associato alla criminalità a causa della nascita di un movimento
contrastante.
WWW: WORLD-WIDE WEB
Nel 1989, un gruppo di ricercatori informatici del CERN di Ginevra ricevette l’incarico di realizzare un
meccanismo per la rapida diffusione di articoli e appunti tra i ricercatori del centro. Tim Berners-Lee e
Robert Cailliau identificarono Internet attraverso una navigazione ipertestuale e SGML, elementi chiave per
questo meccanismo. Fu Tim Berners-Lee nel 1990 a realizzare un browser-editor sulla piattaforma NeXT,
che egli chiamò World-Wide Web (poi denominato Nexus). Attraverso il web, l’informatica divenne
accessibile anche a tutti coloro che non avevano una preparazione scientifica. Nel 1991 fu rilasciata una
nuova versione del browser, che diventò universale. Berners-Lee e Cailliau mostrarono durante una
conferenza il primo prototipo della loro applicazione, ma ottennero scarso successo e il progetto fu
bocciato da gran parte della comunità scientifica. Il riconoscimento a Berners-Lee come padre fondatore di
Internet è forse riduttivo dato il complicato processo storico e informatico da cui deriva Internet. La
crescita fu esponenziale, poiché nel 1994 si registravano circa 1500 server.
Il successo di questo ambiente applicativo rispetto agli altri presenti fu dovuto al raggiungimento di utenti
non tecnici e quindi comuni, inoltre lo strumento testo fu utilizzato come strumento di condivisione. Altre
applicazioni Internet concorrenti al Web erano:
- FTP: capace di possedere un meccanismo di scambio file che non gestiva la visualizzazione, ma
semplicemente scambiava i file;
- ARCHIE: prediligeva la ricerca all’interno di testi e quindi era in grado di indicizzare il contenuto di
molti archivi pubblici presenti in Internet;
- WAIS: un server che forniva servizi di ricerca avanzati solo per documenti di testo;
- GOPHER: presenta ridotte differenze rispetto al Web e consentiva la creazione di link che portavano
a dei testi o a delle directory.
Erano presenti anche applicativi che si concentravano sullo sviluppo di capacità ipertestuali, con delle
funzionalità più avanzate rispetto al Web, come Hypercard e Toolbook. Hypercard lavorava, ad esempio,
attraverso delle icone che raggruppavano dei documenti dello stesso genere. Microcosm, invece, era un
server pensato per collegare individui che volevano collegare tra di loro delle applicazioni. Infine, Hyper-G
era un sistema Client-Server complesso e completo che consentiva di collegare diversi nodi, grazie ad un
protocollo complesso.
Ciò che rafforzò la posizione del Web fu sicuramente una semplificazione ottenuta sia sul piano
dell’accettazione della tecnologia, sia sulla scalabilità tecnica (ossia la capacità di poter sopportare dei
contesti distribuiti, privi di un controllo centralizzato, che consentivano un’espansione dell’ambiente). I
punti di forza che consentirono al Web di prevalere su tutti gli altri applicativi furono:
1. Punto di partenza fu la tecnologia comunemente usata dagli utenti;
2. Protocollo semplificato;
3. Navigazione ipertestuale semplificata;
4. Modello dati semplificato;
5. Possibilità di raggiungere delle funzionalità specifiche attraverso una stratificazione di livelli.
L’architettura del Web si basa su tre standard che interagiscono in modo trasparente, ovvero nel senso
che le caratteristiche di uno standard non modificano quelle dell’altro, ma lo completano:
- Identificazione: URI – Uniform Resource Identifier
Il Web è uno spazio informativo in cui ogni elemento di interesse è chiamato risorsa ed è associato
a un identificatore univoco (URI). URL (Uniform Resource Locator) è un sottoinsieme;
- Interazione: HTTP – Hyper Text Transfer Protocol
C’è un protocollo di comunicazione (HTTP) che permette di scambiare messaggi su una rete
informatica (TCP/IP);
- Formato dati: HTML – Hyper Text Markup Language
I Server e i Client negoziano la corretta identificazione del formato dati con cui la risorsa è
rappresentata (XHTML, JPG, JSON, etc.).
HTTP
All’interno di una rete sono presenti due nodi: uno può assumere il ruolo di Server e l’altro di Client, ossia
ricevere richieste o fornire delle risposte. Ogni richiesta non è nient’altro una richiesta fatta dal Client al
Server, il quale decide se può fornire la risposta o meno (errore 404). Il protocollo HTTP è generico e non è
vincolato dai dati. HTTP è Client-Server ed è privo di stato, ossia non mantiene informazioni che perdurano
tra una connessione e l’altra. Il Client ogni volta ricrea da zero il contesto necessario. Il protocollo è molto
semplice: il Client fa una richiesta (nel frattempo una serie di altre richieste viene eseguita) e il Server
fornisce una risposta. All’interno di questo processo sono presenti delle applicazioni che svolgono dei ruoli
diversi e avviano processi interni o di terze parte durante lo schema base chiamata-risposta. In particolare,
si possono presentare User agent, Origin-server, Proxy, Gateway o Tunnel.
L’User agent è un browser o robot che richiede delle risorse; l’Origin-server mantiene la risorsa richiesta; il
Proxy è un’applicazione intermedia che mantiene copia delle richieste più frequenti che fornisce al Client
come se fosse l’Origin-server; il Gateway svolge una funzione simile al Proxy, ma il Client non è
consapevole della sua richiesta; il Tunnel è un’applicazione che inoltra passivamente le richieste che
ottiene.
Il protocollo di per sé è privo di stato e per questo sono state studiate delle modalità che tengono traccia
delle attività dell’utente. I Cookies sono appunto un blocco di dati opaco lasciato in consegna ad un Client
che mantiene così lo stato di precedenti connessioni e lo manda al Server di pertinenza ogni volta che
richiede un documento. Così, alla prima richiesta di un Client, il Server fornisce la risposta ed un header
aggiuntivo, il cookie, con dati arbitrati, e con la specifica di usarlo per ogni successiva richiesta.
Uno dei fattori che ha determinato il successo del Web è stato URI. Il principale elemento mancante infatti
era proprio una sintassi universale con cui identificare le risorse di rete. Esso è indipendente dal
protocollo, è uno spazio di nomi gerarchico basato su un set di caratteri ristretto (per evitare problemi di
cattiva codifica) ed è opaco: non dipende da URI definire una semantica di una risorsa.
Per andare a ricercare una risorsa, vi è innanzitutto un protocollo (http), spesso una modalità di
autenticazione che resta criptata (login) così come il servizio (host) o la porta (8080), che identifica le
applicazioni attive. Seguono path, ovvero il percorso all’interno del sistema operativo che normalmente
porta ad un file (come .html), e la query, delle copie di parametro valore. Al termine vi è il nodo, una
sezione del file.
I linguaggi di markup sono linguaggi opportuni per strutturare e marcare i documenti in maniera
indipendente dall’applicazione, favorendo riusabilità, flessibilità e apertura delle applicazioni complesse. I
Tag sono etichette e marcatori che identificano porzioni di testo. Così si ha modo per identificare e
processare le porzioni di testo contrassegnate da una certa marcatura. In questo modo un algoritmo può
ricercare nel testo un numero maggiore di elementi grazie a queste etichette identificative. Altri marcatori,
invece, sono strutturali ed invisibili nella pagina visualizzata, ma utili per identificare le sezioni e per
rispettare la s