Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale ›...

34
Laboratorio di Informatica C-02 - Internet e World Wide Web 1 Laboratorio di Informatica Alfonso Miola Internet e World Wide Web Dispensa C-02 Settembre 2005

Transcript of Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale ›...

Page 1: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web1

Laboratorio di Informatica

Alfonso Miola

Internet e World Wide Web

Dispensa C-02Settembre 2005

Page 2: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web2

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

Page 3: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web3

Contenuti

Internet e World Wide Web

Internet

nomi su Internet

servizi di Internet

World Wide Web

reperimento di informazioni sul Web

applicazioni sul Web

Page 4: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web4

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

Page 5: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web5

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

Page 6: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web6

Breve storia di Internet

Internet ha origine dal progetto ARPANETnella metà degli anni sessanta, ai tempi della guerra fredda, il Dipartimento della Difesa degli Stati Uniti voleva costruire unarete 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 34nel 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

Page 7: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web7

Nomi su InternetInternet 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

Page 8: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web8

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’esempioduke.dia.uniroma3.it indica il calcolatore chiamato duke nel dominio dia.uniroma3.it

Page 9: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web9

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, [email protected]

questo nome indica l’utente chiamato miola nel

dominio dia.uniroma3.it

Page 10: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web10

Servizi di InternetInternet 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

Page 11: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web11

I principali servizi di interoperabilità di Internet

Collegamento remotoun utente può collegarsi su un altro calcolatore su cui èaccreditato

Trasferimento di fileun utente può copiare file da un calcolatore all’altro, eventualmente accedendo file di dominio pubblico

Posta elettronicala possibilità di comporre, spedire e ricevere messaggi in formato elettronico

Bacheca elettronicagruppi di discussione specializzati, in cui utenti che condividono un interesse possono scambiarsi messaggi

World Wide Webaccesso e condivisione di documenti sotto forma di ipertesto distribuito

Page 12: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web12

World Wide WebIl World Wide Web è un servizio applicativo di Internet

è una applicazione distribuita di Internet, realizzata secondo ilmodello 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

Page 13: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web13

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

Page 14: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web14

Architettura del World Wide Web . . .

clienti

richiesta di documenti mediante il protocollo HTTP documenti

serventi

Page 15: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web15

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 Webil nome di un calcolatore (o di un dominio)

nell’esempio, www.virgilio.itil nome di un documento (con percorso e nome del file)

nell’esempio, /canali/meteo/italia/roma.htmlle parti di un URL rispondono alle seguenti domande

come si può accedere alla pagina? dove si trova la pagina? qual è la pagina richiesta?

Page 16: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web16

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, ...

Page 17: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web17

Un esempio di (porzione di) documento HTML

<html>

<head><title>Risorse Java</title>

</head>

<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>...

elementi

tag

Page 18: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web18

Visualizzazione di documenti HTML

Il browser web è in grado di visualizzare pagine HTML

Page 19: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web19

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

Page 20: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web20

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

Page 21: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web21

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

Page 22: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web22

Applet

Un applet è un programma immerso una pagina web un applet è una piccola applicazione che

viene acceduta da un server webviene eseguita dal browser web (non dal server)

gli applet rendono “attive” le pagine Web

Page 23: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web23

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

Page 24: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web24

Esempio — plug-in per il formato PDF

Page 25: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web25

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)

Page 26: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web26

Esempio — accesso al servizio ftp

Page 27: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web27

Reperimento di informazioni sul WebIl 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 bookmarksun indirizzario di pagine web, gestito individualmente mediante il browser web consente solo di ritrovare pagine già visitate

indici virtuali motori di ricerca portali

Page 28: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web28

Indici virtuali

Un indice virtuale è un sito web che gestisce (manualmente) un indirizzario

Page 29: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web29

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

Page 30: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web30

Motori di ricerca . . .

I motori di ricerca sono basati su un insieme di tecnologie, checonsentono l’accesso automatico e l’indicizzazione di pagine web, nonché la ricerca per parola chiave

Page 31: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web31

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

Page 32: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web32

Esempio di portale

Page 33: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web33

Applicazioni sul WebIl 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

Page 34: Internet e World Wide Web - dia.uniroma3.it › java › labinf › materiale › LabInf_C02_Internet.pdf · 7 C-02 - Internet e World Wide Web Laboratorio di Informatica Nomi su

Laboratorio di InformaticaC-02 - Internet e World Wide Web34

Esempio di sito per il commercio elettronico