Alfonso Miola Internet e World Wide Web Dispensa C-02 Settembre 2005 1
Nota bene Il presente materiale didattico è derivato dalla dispensa prodotta da Luca Cabibbo Dip. Informatica e Automazione Università degli Studi Roma Tre Il suo utilizzo in questo corso è stato concesso dall autore 2
Contenuti Internet e World Wide Web Internet nomi su Internet servizi di Internet World Wide Web reperimento di informazioni sul Web applicazioni sul Web 3
Internet e World Wide Web Siamo ora in grado di discutere l architettura di Internet e del World Wide Web viene discussa la corrispondenza tra i concetti tecnologici introdotti e Internet e l architettura cliente/servente del World Wide Web vengono discusse le capacità del World Wide Web come piattaforma per la realizzazione di applicazioni distribuite 4
Internet Una internet (con la i minuscola) è una rete di calcolatori basata sulla famiglia di protocolli TCP/IP, nota anche come Internet Suite TCP/IP significa Transport Control Protocol/Internet Protocol Internet (con la I maiuscola) è la più grande rete di reti di calcolatori, a diffusione mondiale ogni calcolatore collegato a Internet può comunicare con ogni altro calcolatore collegato a Internet oggi ci sono milioni e milioni di calcolatori collegati a Internet in corrispondenza, ci sono milioni e milioni di utenti che comunicano tramite Internet 5
Breve storia di Internet Internet ha origine dal progetto ARPANET nella metà degli anni sessanta, ai tempi della guerra fredda, il Dipartimento della Difesa degli Stati Uniti voleva costruire una rete di comando e di controllo che potesse sopravvivere a una guerra nucleare il progetto fu sviluppato da università e enti di ricerca americani ponendo prima le basi per la reti di calcolatori e poi studiando il problema della interconnessione di reti mediante lo sviluppo della famiglia di protocolli TCP/IP Crescita di Internet i calcolatori collegati nel 1969 erano 4, e nel 1972 erano 34 nel 1990 Internet collegava 200.000 calcolatori, e nel 1992 venne collegato a Internet il milionesimo calcolatore gli utenti oggi sono decine di milioni, e raddoppiano approssimativamente ogni anno 6
Nomi su Internet Internet collega diverse tipologie di risorse ad esempio, calcolatori, reti di calcolatori, utenti, applicazioni, documenti la gestione della comunicazione tra queste risorse richiede l associazione di un nome univoco a ciascuna risorsa La gestione di un insieme di nomi vasto e costantemente modificabile viene effettuata sulla base di una organizzazione gerarchica dello spazio dei nomi i calcolatori vengono suddivisi in domini i domini hanno a loro volta un organizzazione gerarchica utenti, applicazioni e documenti vengono identificati nell ambito del dominio a cui appartengono 7
Nomi di calcolatori e domini A ciascun calcolatore connesso permanentemente a Internet viene assegnato un nome, composto da una sequenza di nomi separati da punti ad esempio, duke.dia.uniroma3.it e www.cs.stanford.edu Questa struttura è basata su una suddivisione gerarchica dei nomi in insiemi di calcolatori chiamati domini esempi di domini (di dimensioni via via crescenti) sono dia.uniroma3.it il dominio dei calcolatori collegati a Internet del Dipartimento di Informatica e Automazione (DIA) dell Università Roma Tre in Italia uniroma3.it il dominio dei calcolatori collegati a Internet dell Università Roma Tre in Italia it il dominio dei calcolatori collegati a Internet in Italia Nell esempio duke.dia.uniroma3.it indica il calcolatore chiamato duke nel dominio dia.uniroma3.it 8
Nomi di utenti Agli utenti dei calcolatori di Internet viene assegnato un nome, composto da un identificativo dell utente nell ambito di un dominio o di un calcolatore ad esempio, miola@dia.uniroma3.it questo nome indica l utente chiamato miola nel dominio dia.uniroma3.it 9
Servizi di Internet Internet fornisce ai suoi utenti un certo numero di servizi di interoperabilità per interoperabilità si intende la disponibilità di servizi di adattamento e conversione che rendono possibile lo scambio di informazioni tra sistemi (in genere non omogenei) esempi di servizi di interoperabilità sono la posta elettronica e il World Wide Web ciascun servizio di interoperabilità corrisponde a uno o più protocolli applicativi ad esempio, il World Wide Web è basato sul protocollo HTTP la posta elettronica è basata sui protocolli SMTP, POP e IMAP 10
I principali servizi di interoperabilità di Internet Collegamento remoto un utente può collegarsi su un altro calcolatore su cui è accreditato Trasferimento di file un utente può copiare file da un calcolatore all altro, eventualmente accedendo file di dominio pubblico Posta elettronica la possibilità di comporre, spedire e ricevere messaggi in formato elettronico Bacheca elettronica gruppi di discussione specializzati, in cui utenti che condividono un interesse possono scambiarsi messaggi World Wide Web accesso e condivisione di documenti sotto forma di ipertesto distribuito 11
World Wide Web Il World Wide Web è un servizio applicativo di Internet è una applicazione distribuita di Internet, realizzata secondo il modello cliente/servente è un servizio basato sul protocollo HTTP (al livello applicativo) HTTP è un acronimo per HyperText Transfer Protocol (protocollo per il trasferimento di ipertesti) World Wide Web significa letteralmente ragnatela intorno al mondo Il Web nasce da un progetto del CERN (Tim Berners-Lee, 1989), per permettere a gruppi di scienziati appartenenti a paesi diversi di condividere informazioni su esperimenti di fisica obiettivo del progetto era di fornire uno strumento per l accesso integrato a informazioni rappresentate in un numero molteplice di forme e formati diversi interrelate 12
Architettura del World Wide Web L architettura cliente/servente del World Wide Web è basato sulle seguenti componenti servizio il servizio di accesso a un documento mediante il suo indirizzo serventi sono applicazioni (chiamate server web) che vengono eseguite dai calcolatori che forniscono l accesso a propri documenti clienti sono applicazioni - i browser web - che vengono eseguite dai calcolatori che devono visualizzare i documenti 13
Architettura del World Wide Web... clienti richiesta di documenti mediante il protocollo HTTP documenti serventi 14
Nomi sul World Wide Web I nomi sul World Wide Web (chiamati URL) permettono l identificazione di risorse nell ambito di un protocollo applicativo URL è un acronimo per Uniform Resource Locator ad esempio, l URL di un documento sul Web può essere http://www.virgilio.it/canali/meteo/italia/roma.html In un URL si possono identificare tre parti il nome di un protocollo applicativo nell esempio, http, che è il protocollo del World Wide Web il nome di un calcolatore (o di un dominio) nell esempio, www.virgilio.it il nome di un documento (con percorso e nome del file) nell esempio, /canali/meteo/italia/roma.html le parti di un URL rispondono alle seguenti domande come si può accedere alla pagina? dove si trova la pagina? qual è la pagina richiesta? 15
Il linguaggio HTML Le pagine web sono solitamente scritte nel linguaggio HTML HTML è un acronimo per HyperText Markup Language (linguaggio per ipertesti a marcature) Un documento HTML è un file di testo, strutturato in componenti logici (chiamati elementi) marcati da sequenze speciali (chiamate tag) ad esempio, un possibile elemento di una pagina web è il titolo (che deve essere visualizzato nella barra del titolo del browser) l elemento titolo viene racchiuso tra i tag <title> e </title> alcuni elementi tipici di un documento web sono intestazione e corpo, titoli di sezione, paragrafi, liste, parole evidenziate, immagini, ancore e collegamenti ipertestuali,... 16
Un esempio di (porzione di) documento HTML <html> tag <head> <title>risorse Java</title> </head> elementi <body> <h1 align="left"><img border="0" src="duke.gif"> <center>risorse Java</center> </h1> <h2>tecnologia Java</h2> <ul> <li> <a href="http://java.sun.com">java.sun.com</a>, The Source for Java Technology </li> <li> <a href="http://java.sun.com/j2se/1.3/"> Java 2 Platform</a>, Java 2 Software Development Kit, Standard Edition</li> </ul>... 17
Visualizzazione di documenti HTML Il browser web è in grado di visualizzare pagine HTML 18
Funzionamento di un server web Un server web è una applicazione in grado di fornire documenti ipertestuali (su richiesta, solitamente fatta da browser web) La modalità tipica di funzionamento di un server web è la seguente si consideri ad esempio un browser web che richiede l accesso alla pagina http://www.virgilio.it/canali/meteo/italia/roma.html il browser inoltra la richiesta http della pagina /canali/meteo/italia/roma.html al calcolatore www.virgilio.it quando il server web in esecuzione sul calcolatore www.virgilio.it riceve questa richiesta, allora accede al file percorso_file_web/canali/meteo/italia/roma.html (dove percorso_file_web è il percorso in cui il calcolatore memorizza i propri documenti web) e lo invia al browser web in risposta della sua richiesta 19
Funzionamento dinamico di un server web La richiesta di accesso a una pagina può essere esaudita da un server web generando la pagina HTML in modo dinamico, mediante l esecuzione di un apposito programma applicativo questo è possibile, ad esempio, usando la tecnologia CGI (Common Gateway Interface) o linguaggi di scripting come ASP (Active Server Pages) e JSP (Java Server Pages) In questa modalità dinamica di funzionamento, una richiesta di accesso viene interpretata dal server come richiesta di esecuzione di una applicazione questa modalità di funzionamento viene adottata, ad esempio, in tutti i casi in cui l utente interagisce con un modulo web, riempiendo dei campi e, alla fine, cliccando su un bottone Questa modalità di funzionamento espande enormemente le capacità del World Wide Web - anche noi ne faremo uso 20
Altre funzionalità dei browser web Un browser web è lo strumento che permette di accedere e visualizzare pagine web un browser è inizialmente in grado di visualizzare documenti nei principali formati corrispondenti a standard pubblici, come HTML, GIF e JPEG (per le immagini) Vengono ora discusse altre funzionalità offerte dai browser web la possibilità di eseguire piccole applicazioni (applet) scaricate da un server web la possibilità di installare moduli applicativi (plug-in) per la visualizzazione di documenti in formati non inizialmente previsti la possibilità di accedere ad altri servizi applicativi 21
Applet Un applet è un programma immerso una pagina web un applet è una piccola applicazione che viene acceduta da un server web viene eseguita dal browser web (non dal server) gli applet rendono attive le pagine Web 22
Plug-in Un plug-in è un modulo software che può essere associato a un browser web per espanderne le funzionalità plug-in sono necessari per la visualizzazione di documenti in formati non standard o proprietari ad esempio, nel formato PDF (Portable Document Format) della Adobe o Quick Time della Apple solitamente, i produttori di applicazioni per la generazione di documenti in formati proprietari forniscono, sul loro sito web e in forma gratuita, applicazioni e plug-in per la visualizzazione di documenti in quel formato in alcuni casi, il browser stesso è in grado di riconoscere la necessità di un plug-in e si offre di cercarlo su Internet e di installarlo 23
Esempio plug-in per il formato PDF 24
Accesso ad altri servizi Un browser web può consentire l accesso a servizi applicativi corrispondenti a protocolli diversi da HTTP ad esempio, il trasferimento di file e la posta elettronica è sufficiente usare nell URL il protocollo del servizio che si vuole accedere ad esempio, mailto per la posta elettronica, ftp per il trasferimento di file, telnet per il collegamento remoto l accesso a un diverso protocollo può essere gestito direttamente dal browser (come nel caso di ftp) o può richiedere l esecuzione di un altra applicazione (come nel caso di mailto e telnet) 25
Esempio accesso al servizio ftp 26
Reperimento di informazioni sul Web Il Web è un insieme di documenti, organizzati in siti, che forniscono informazioni relative a moltissime tematiche tuttavia, l accesso a un documento è possibile solo se si conosce l URL del documento, oppure se si dispone di una pagina che contiene un riferimento al documento La ricerca e l accesso a informazioni sul Web è facilitata dai seguenti strumenti preferiti e bookmarks un indirizzario di pagine web, gestito individualmente mediante il browser web consente solo di ritrovare pagine già visitate indici virtuali motori di ricerca portali 27
Indici virtuali Un indice virtuale è un sito web che gestisce (manualmente) un indirizzario 28
Motori di ricerca Un motore di ricerca è un sito web che consente la ricerca di documenti sul Web sulla base di un modulo web su cui è possibile specificare delle parola chiave da usare per la ricerca 29
Motori di ricerca... I motori di ricerca sono basati su un insieme di tecnologie, che consentono l accesso automatico e l indicizzazione di pagine web, nonché la ricerca per parola chiave 30
Portali Un portale è un sito web che fornisce uno o più dei seguenti servizi accesso unificato alle informazioni di una organizzazione sulla base di indici e/o un motore di ricerca accesso unificato al web sulla base di indici e/o un motore di ricerca novità e notizie Esempio di portali www.virgilio.it www.kataweb.it www.altavista.com originariamente era solo un motore di ricerca portali aziendali 31
Esempio di portale 32
Applicazioni sul Web Il World Wide Web, nato originariamente con lo scopo di condividere informazioni, si sta recentemente affermando anche come piattaforma per la realizzazione di applicazioni distribuite su Internet il protocollo HTTP offre infatti la possibilità di eseguire applicazioni sul server e sul browser Ad esempio, le applicazioni di commercio elettronico consentono di accedere (mediante navigazione e/o ricerca) a un catalogo di prodotti di selezionare uno o più prodotti per l acquisto di confermare l acquisto specificando l indirizzo per la consegna pagando mediante carta di credito 33
Esempio di sito per il commercio elettronico 34