Informatica per la comunicazione" - lezione 9 -
Internet Web!" Il web è solo uno degli aspetti di internet." In particolare, chiamiamo web tutta l informazione che riusciamo a ottenere collegandoci ad altri calcolatori per mezzo di un browser" Il browser è un applicazione che consente la visualizzazione su schermo del contenuto di pagine ipermediali provenienti da altri computer e trasferite per mezzo del protocollo HTTP"
Che cos è Internet?"
Questo è solo un aspetto di Internet."
Che cos è Internet?" "Internet è una realtà molto complessa, di cui distinguiamo numerosi aspetti:" le infrastrutture fisiche (hardware) utilizzate per il trasferimento dell informazione" i protocolli di gestione di tali infrastrutture, dai livelli più bassi legati ai fenomeni fisici nell hardware fino a quelli più alti riguardanti le applicazioni per gli utenti finali" i servizi offerti all utente da applicazioni software che sfruttano internet per il trasferimento di informazione" le organizzazioni e le società di gestione che creano e mantengono le condizioni affinché internet possa funzionare regolarmente"
Gestione di Internet" "Per quanto riguarda le organizzazioni di gestione di internet ricordiamo:" gli enti di gestione delle infrastrutture fisiche (come il GARR in Italia)" gli enti che definiscono e pubblicano i protocolli per internet, come l International Organization for Standardization (ISO), che si occupa di standard di ogni tipo, o il World Wide Web Consortium (W3C), che si occupa in particolare degli standard del Web" le agenzie che assegnano su richiesta (e a pagamento) a individui e organizzazione i nomi dei domini (come www.unibg.it) da utilizzare negli indirizzi web" queste agenzie, dette domain name registrar, fanno in ultima analisi riferimento alla Internet Corporation for Assigned Names and Numbers (ICANN), a sua volta controllata dal governo degli Stati Uniti "
Internet / Intranet / Extranet" Le tecnologie di internet possono essere utilizzate anche in reti chiuse, riservate ad esempio ai membri di un organizzazione" In genere si distingue fra:" intranet: una rete privata, riservata ai membri di un organizzazione, basata sulle tecnologie di internet" extranet: una rete analoga a un intranet, ma estesa a certe categorie di partner esterni di un organizzazione (clienti, fornitori, ecc.)"
Applicazioni Internet / Web" Una rete telematica può essere utilizzata per creare applicazioni che si basano sull interazione di più componenti che girano su host diversi e sfruttano la rete per trasferire dati da uno host all altro" In particolare, quando la rete utilizzata è internet, queste applicazioni sono denominate applicazioni internet " Le applicazioni che consentono a un utente di accedere a certi servizi utilizzando un browser prendono il nome di applicazioni web (esempi: easyjet, trenitalia, ticketone, google maps)" Altre applicazioni internet, invece, richiedono da parte dell utente l uso di un applicazione speciale (in genere scaricata dalla rete e installata sul computer (esempio: google earth)"
Architettura Client - Server"
Le applicazioni internet possono essere realizzate secondo differenti architetture" L architettura più semplice e diffusa è l architettura client-server" "Nei sistemi client-server:" una componente dell applicazione, detta server, ha il compito di fornire determinati servizi" un altra componente, detta client, ha il compito di consumare i servizi forniti dal server" In genere c è una forte asimmetria fra la componente server (spesso piuttosto complessa) e la componente client (di solito piuttosto semplice)" Si noti che molte copie del client possono interagire contemporaneamente e da host diversi con un unico server"
Esempio di client-server" Google Earth" il server è un applicazione che gira sui computer di Google Inc., in grado di fornire mappe satellitari di tutta la superficie terrestre, integrate con svariate informazioni accessorie (confini, strade, condizioni meteorologiche ecc.)" il client è un applicazione che gestisce la visualizzazione delle informazioni inviate dal server, e che può essere scaricata dal sito web di Google Inc. e installata su qualsiasi computer"
Nelle applicazioni web, il client è costituito semplicemente da un browser" Il browser può interpretare ed eseguire localmente dei programmi contenuti all interno delle pagine web scaricate dal server" I programmi contenuti in una pagina web ed eseguiti dal client all interno del browser sono denominati applet (cioè applicazioncine )" Esempi:" Applicazioni Web C-S" animazioni visualizzate all interno di pagina" visualizzazione di un video di YouTube" giochi online"
In altri casi, durante la navigazione di un sito web certi programmi sono eseguiti dal server e i risultati dell esecuzione vengono poi inviati al client" Esempi:" generazione di pagine web dinamiche" pagine web interattive"
Lo stato dell interazione" Le applicazioni web si basano sul protocollo http, che presenta un problema:" l interazione è senza memoria o, come si dice con un termine tecnico, priva di stato (stateless)" ciò significa che ogni richiesta che giunge al server da parte del client è trattata dal server come una nuova richiesta, indipendente dalle richieste precedenti" in altre parole il server non tiene memoria delle eventuali fasi precedenti dell interazione" "Attenzione però:" il client può conservare memoria delle sue richieste precedenti il punto è che non lo fa il server" alcune tecnologie particolari, come le servlet Java, consentono al server di mantenere una rappresentazione dello stato dell interazione"
Cookies" Per molte applicazioni questo costituisce un problema: sono quindi state sviluppate tecniche per rappresentare lo stato dell interazione (state management)" La soluzione più comune si basa sull uso dei cookie:" quando un server deve conservare per il futuro certi dati concernenti l interazione con un certo client, memorizza questi dati direttamente sullo host del client; questi dati sono rappresentati sotto forma di file denominati cookie " quando il server ha necessità di utilizzare i dati conservati in un cookie, li legge direttamente dallo host del client" L uso di questa tecnica non è priva di problemi, perché consentire al server l accesso al file system del client comporta rischi per la sicurezza e la privatezza dei dati" "I browser danno quindi la possibilità di escludere l invio dei cookie da parte di un server, ma a volte questa limitazione può impedire al server di operare correttamente"
" Parte III: il computer come strumento per l interazione e la comunicazione Web 1.0"
Web 1.0" Che cosa vuol dire 1.0?" "
In informatica, la numerazione x.y per indicare la versione di un prodotto ha questo significato: se le modifiche apportate non sono particolarmente rivoluzionarie, si considera il nuovo prodotto solo una variante della stessa versione, quindi si lascia intatto x e si aumenta y di 1. Quando invece si è di fronte a un cambiamento radicale, si aumenta x di 1 e si azzera y per segnare l inizio di una nuova era del prodotto." "
Web 1.0" 1.1" 1.2" 2.0"
Il Web (o più precisamente World Wide Web, noto anche come WWW o W3) è nato nell agosto del 1991 presso il CERN di Ginevra, grazie a un idea di Tim Berners-Lee" Secondo quanto riportato sul blog di Google, il Web contava nel luglio 2008 più di 1000 miliardi di pagine distribuite su più di 100 milioni di host" Che cos è il Web?" un colossale ipertesto, formato da miliardi di pagine collegate fra loro?" un archivio distribuito di informazioni?" una rete di servizi fruibili in certi luoghi virtuali chiamati siti?"
Evoluzione del Web" Nell evoluzione del Web si distinguono oggi diverse fasi:" Web 1.0: la fase iniziale, dal 1991 ai primi anni del 2000" Web 2.0: dai primi anni del 2000 a oggi (il termine Web 2.0 è stato usato per la prima volta nel 2004)" Web 3.0: ciò che il Web dovrebbe diventare nei prossimi anni"..." La distinzione fra queste fasi è piuttosto vaga, e autori diversi le definiscono in modi differenti: per comodità faremo comunque uso di questa terminologia, almeno in modo informale"
Il Web 1.0" risorse rese disponibili " problemi e soluzioni" la tipologia dell interazione"
Risorse rese disponibili" Il Web 1.0 è innanzitutto un ipertesto multimediale distribuito:" ipertesto: il Web 1.0 è costituito da pagine collegate fra loro da link, che consentono a un utente di navigare nell ipertesto" multimediale: le pagine contengono un testo audiovisivo nel senso più ampio del termine: testo linguistico, grafici, immagini, video" distribuito: le pagine dell ipertesto risiedono su molti host distinti, connessi tramite internet" Un insieme di pagine web correlate (in genere, ma non necessariamente, memorizzate su un singolo host) costituiscono un sito Web"
Problemi e soluzioni" La seguente tabella schematizza i principali problemi del Web 1.0 e le relative soluzioni:" " lato server" " lato client" problema" costruire le pagine" pubblicare le pagine" trovare le pagine" visualizzare le pagine" soluzione" linguaggio HTML (HyperText Markup Language)" protocollo HTTP, URL (Uniform Resource Locator)" motori di ricerca" browser"
I linguaggi di marcatura" Un linguaggio di marcatura (markup language) è un sistema di simboli convenzionali (chiamati tag) che possono essere utilizzati per marcare certe sezioni di un testo, associando una determinata proprietà a ciascuna sezione" Esempio:" " <titoloopera>la Divina Commedia</titoloOpera> <nomeautore>dante Alighieri</nomeAutore> <titolovolume>inferno</titolovolume> <titolocapitolo>canto I</titoloCapitolo> <testo> Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura ché la diritta via era smarrita... </testo>
I tag si comportano come delle parentesi: a ogni tag di apertura deve corrispondere un tag di chiusura e fra questi è contenuta la sezione marcata del testo:" " <titoloopera>il cacciatore di aquiloni</titoloopera> È possibile inserire l una nell altra sezioni marcate di testo:" "<capitolo> <titolocapitolo>uno</titolocapitolo> <periodo> Sono diventato la persona che sono oggi all età di dodici anni, in una gelida giornata invernale del 1975.... </periodo>... </capitolo>...
Il linguaggio HTML" HTML (HyperText Markup Language) è un linguaggio standard per la marcatura di ipertesti, ovvero di testi che possono contenere collegamenti (link) ad altre pagine" HTML prevede un insieme prefissato di tag, il cui significato è definito da una raccomandazione W3C" "Esempi di tag HTML:" " "<head>... </head> <style>... </style> <title>... </title> <body>... </body>
"HTML (HyperText Markup Language) è un linguaggio standard per la marcatura di ipertesti, ovvero di testi che possono contenere collegamenti (link) ad altre pagine" "HTML prevede un insieme prefissato di tag, il cui significato è definito da una raccomandazione W3C" "Esempi di tag HTML:" " "<head>... </head> Significato va sempre <style>... </style> inteso in maniera molto <title>... </title> debole in informatica. <body>... </body> Ricordatevi della stanza cinese. "
Significato?" < 題 >Freedom</ 題 >
Il W3C dice:" Authors should use the TITLE element to identify the contents of a document. Since users often consult documents out of context, authors should provide context-rich titles. Thus, instead of a title such as "Introduction", which doesn't provide much contextual background, authors should supply a title such as "Introduction to Medieval Bee-Keeping" instead."
Le pagine HTML" Nel caso più semplice, una pagina web è un file di testo marcato tramite tag HTML "" per costruire una pagina è possibile: " scrivere direttamente un file HTML utilizzando un editor di file di testo" oppure scrivere una pagina web con uno strumento software specifico, che la traduce automaticamente in HTML" per visualizzare una pagina è possibile:" utilizzare un browser, che è in grado di visualizzare i file HTML interpretando i tag in modo coerente con le raccomandazioni W3C"