Internet e Web

Download Report

Transcript Internet e Web

Architettura del World Wide Web

Facoltà di Ingegneria Università di Roma “La Sapienza”

Gennaio 2001

Sintesi dei livelli di rete

Livelli di trasporto ed inferiori

(

Livelli 1-4

) – Connessione fisica – Trasmissione dei pacchetti (

IP

) – Affidabilità della comunicazione e della trasmissione dei messaggi (

TCP

) •

Livello applicativo

(

Livello 5

) 2

Gennaio 2001

Principali applicazioni Internet

• • • • •

Domain Name System Posta elettronica (SMTP) Login remoto (Telnet) Trasferimento file (FTP) World Wide Web Tutte usano il modello client/server

3

Gennaio 2001

Indice

Standard del WWW

– Identificativo

URL

– Linguaggio

HTML

– Protocollo

HTTP

Client (browser)Server (server Web)

Ottimizzazioni del WWW

4

Parte 1: Standard del WWW

Gennaio 2001

Ingredienti del WWW

• • •

Meccanismi di comunicazione e naming di Internet

– TCP/IP – DNS

Tre nuovi standard

– Sistema di indirizzamento delle risorse URL – Linguaggio HTML – Protocollo HTTP

Sistema client-server

– Client (Browser) – Server Web 6

Gennaio 2001

Risorse Web

Documenti

(detti anche

pagine

) –

testo

immagini

suoni

video

Risultati di esecuzioni

Programmi eseguibili

7

Gennaio 2001

Uniform Resource Locator (1)

Il sistema di indirizzamento delle risorse è basato su

Uniform Resource Locator

(

URL

), un meccanismo standard per fare riferimento a tutte le risorse presenti nel Web: –

pagine (testo, immagini, suoni, video, ...)

risultati di esecuzioni

programmi eseguibili

8

Gennaio 2001

Uniform Resource Locator (2)

schema :// host.domain / pathname http :// www.dis.uniroma1.it / docenti/orari/esami.html

• • •

schema

: indica il modo con cui accedere alla risorsa, cioè quale protocollo bisogna usare per interagire con il server che controlla la risorsa. Il metodo di accesso più comune è

HTTP

(protocollo nativo del WWW per il recupero di risorse Web)

host.domain

: è l’hostname del nodo nel quale risiede la risorsa Web.

pathname

: identifica la risorsa presso il server Web. In particolare, si specifica il cammino all’interno dell’organizzazione del file system dedicata alle risorse Web. Nel caso in cui il pathname non contenga alcun nome di file, si suppone che la pagina selezionata sia “index.html”.

9

Gennaio 2001

Naming di Internet e del Web INTERNET

DNS

WORLD WIDE WEB

URL Host Risorsa Web Hostname Valore URL

Così come host risorsa Web è un termine più ampio di computer, ha un significato più ampio di pagina HTML

10

Gennaio 2001

Ingredienti del WWW

• • •

Meccanismi di comunicazione e naming di Internet

– TCP/IP – DNS

Tre nuovi standard

– Sistema di indirizzamento delle risorse URL – Linguaggio HTML – Protocollo HTTP

Sistema client-server

– Client (Browser) – Server Web 11

Gennaio 2001

Concetto di Ipermedia

I documenti Web tipicamente contengono un insieme di

– testo – immagini – puntatori selezionabili ad altre risorse – (audio) – (video)

Ipermedia

Uso mediante “point-and-click”

12

Gennaio 2001

Documento Web

Una pagina è costituita da vari oggetti (testo, immagini binarie, …), detti

embedded objects

Ad ogni oggetto corrisponde un file

Caratteristiche del

testo tipico

:

– Rappresentazione in standard ASCII – Si specifica sia il contenuto sia la rappresentazione – Scritto nel

linguaggio di markup HTML

13

Gennaio 2001

Linguaggio di markup

Per permettere la corretta visualizzazione dell’informazione su qualsiasi piattaforma hardware connessa in rete è stato necessario definire un nuovo linguaggio di markup per la formattazione delle pagine: – Fornisce delle linee guida generali per la rappresentazione del contenuto.

– Non specifica esattamente il formato e la posizione del testo, lasciando ai browser la definizione dei dettagli.

Due browser potrebbero visualizzare lo stesso documento in modo differente.

14

Gennaio 2001

Linguaggio HTML

• Sebbene siano stati proposti modifiche ed altri standard

*

, a tutt’oggi

HyperText Markup Language

(HTML) rimane il “

linguaggio del Web

”. • La pagina HTML è un file di solo testo ASCII.

• Il testo è

free-format

. • Contenuto del testo e specifiche di formato sono inseriti nello stesso file.

* XML sembra essere il nuovo standard più promettente

15

Gennaio 2001

Istruzioni HTML

• La descrizione dei contenuti dell’ipertesto viene effettuata inserendo all’interno del testo stesso alcune istruzioni dette

marcatori

o

markup

o

tag

che producono le visualizzazioni e le azioni specificate.

• Le istruzioni HTML sono racchiuse tra parentesi angolari, nella forma

, e vengono terminate da un tag di chiusura nella forma

. Es.

Informazioni generali

16

Gennaio 2001

Schema di un documento HTML

Titolo del documento Corpo del documento

17

Gennaio 2001

Tag àncora

• L’istruzione più innovativa dell’HTML è l’

àncora

delimitata dai tag

, in quanto tale elemento permette di trasformare un normale testo in ipertesto multimediale • Un àncora può far riferimento ad una sezione della stessa pagina oppure

ad una qualsiasi risorsa

(testuale, multimediale, eseguibile) presente sul Web, denotata mediante un

URL

che va inserito all’interno del tag àncora

HREF="http://www.uniroma1.it/studenti/erasmus.html

>

Programma Erasmus

• Il testo

Programma Erasmus

viene visualizzato in modo differente e risulta un link simbolico selezionabile via mouse 18

Gennaio 2001

Ingredienti del WWW

• • •

Meccanismi di comunicazione e naming di Internet

– TCP/IP – DNS

Tre nuovi standard

– Sistema di indirizzamento delle risorse URL – Linguaggio HTML – Protocollo HTTP

Sistema client-server

– Client (Browser) – Server Web 19

Gennaio 2001

Protocollo HTTP

HyperText Trasmission Protocol

(HTTP) è il protocollo che permette il reperimento delle risorse Web. • E’ un

protocollo applicativo

(5 ° livello) di richiesta/risposta basato tipicamente sulla suite di protocolli TCP/IP.

• Tutti i client e server Web devono supportare il protocollo HTTP per poter scambiare richieste e risposte.

Per questa ragione i

client

e i chiamati anche

client HTTP

e

server Web

sono

server HTTP

.

20

Gennaio 2001

Richiesta HTTP

• Una

richiesta HTTP

comprende un

metodo

, un

URL

, l’identificativo della

versione del protocollo HTTP

, ed un insieme di

extension header

.

• Il

metodo

specifica il tipo di operazione che il client richiede al server. Il metodo più comune è

GET

che serve per acquisire pagine Web.

• Gli

header

contengono informazioni addizionali, quali la data e l’ora della comunicazione, il tipo di software utilizzato dal client, i tipi di dato che il browser è in grado di visualizzare, per un totale di circa 50 tipi di header differenti.

21

Gennaio 2001

Risposta HTTP

• Una

risposta HTTP

comprende, oltre al contenuto della risorsa richiesta, un

header

contenente l’identificativo della versione del protocollo HTTP, il codice di stato, l’informazione di stato in forma testuale, ed un insieme di possibili altre informazioni di risposta.

• Se la pagina richiesta, oltre al testo HTML, contiene altri oggetti, ciascuno di essi sarà identificato da un URL differente, per cui

è necessario che il browser invii un esplicito messaggio di richiesta per ognuno degli elementi collegati alla pagina

.

22

Gennaio 2001

Alcuni codici di risposta

Esito OK, la risorsa è stata trovata e viene inviata Risorsa spostata Risorsa non modificata Richiesta non valida Richiesta di autenticazione Richiesta di pagamento Accesso vietato Risorsa non esistente Errore nel server Non implementato Gateway difettoso Servizio non disponibile

Codice numerico (

status code

) 200 Specifica testuale OK (

reason phrase

) 301 304 400 401 402 403 404 500 501 502 503 Moved permanently Not Modified Bad request Unauthorized Payment required Forbidden Not found Server error Not Implemented Bad Gateway Service Unavailable 23

Parte 2: Client WWW

Gennaio 2001

Client Web (Browser)

Il client Web è un’applicazione software che svolge il ruolo di interfaccia fra l’utente ed il WWW, mascherando la complessità di Internet.

Funzioni principali

– inviare opportuni messaggi al server Web per ottenere le risorse richieste – interpretare il codice ipertestuale HTML – elaborare il codice allo scopo di visualizzare in modo appropriato il contenuto delle pagine sullo schermo.

25

Gennaio 2001

Browser più diffusi

Netscape Navigator

Internet Explorer (Microsoft)

26

Gennaio 2001

Collegamento del client a Internet

Il browser per poter funzionare deve essere mandato in esecuzione: – o su di una macchina connessa fisicamente ad Internet e quindi con un indirizzo IP fissato, – oppure su di una macchina che può connettersi in modo remoto, per esempio tramite

modem

e

Internet Service Provider

(

ISP

), e a cui viene assegnato un indirizzo IP, possibilmente diverso, al momento di ciascuna connessione.

27

Gennaio 2001

Componenti di un browser

Input da mouse e tastiera

Interprete HTML Controller Client Http Altro interprete (

plug-in

) Client Http Interfaccia di rete

Comunicazioni con il server Web

Driver

Output verso lo schermo

28

Gennaio 2001

Fasi di una richiesta HTTP

Client browser

(4) oggetto Web richiesta HTTP INTERNET (1) (3) 144.55.62.18

(2) www.uniroma.it?

name server locale

(5)

server Web

144.55.62.18

name server autoritativo per

www.uniroma1.it

Fase di lookup: (1) - (2) - (3) Fase di richiesta: (4) - (5)

29

Gennaio 2001

Azioni di un browser (1)

Fase di lookup

• Il browser acquisisce dall’utente l’URL da richiedere.

• Il browser invoca il

name server

per conoscere, tramite il sistema DNS, l’indirizzo IP dell’URL cercato.

 Se esistente, il DNS restituisce l’indirizzo IP.

Fase di richiesta

 Il browser attiva una connessione TCP con l’indirizzo IP individuato.

 l’host che ha Sfruttando questa connessione, il browser richiede mediante il protocollo HTTP la risorsa specificata nell’URL.

 Il server Web invia la pagina richiesta.

Se vi sono oggetti allegati alla pagina, il browser effettua una richiesta per ciascuno di essi.

30

Gennaio 2001

Azioni di un browser (2)

Fase di visualizzazione

 Una volta inviati tutti gli oggetti (nel caso di protocollo HTTP/1.1) o dopo aver inviato ciascun oggetto (protocollo HTTP/1.0), il server chiude la connessione TCP.

 Non appena riceve il primo file, il browser analizza come visualizzare sul monitor il testo contenuto nella pagina.

 Il browser carica e mostra gli eventuali oggetti allegati alla pagina.

 Nel caso in cui l’oggetto ricevuto è in qualche formato non direttamente interpretabile dal browser, questi può attivare un apposito

programma plug-in

che ne consente la visualizzazione.

31

Gennaio 2001

Azioni client-server Web

Analisi URL Fase di lookup Invio richiesta Arrivo richiesta al server Arrivo richiesta al processo server Analisi richiesta completata Elaborazione richiesta completata Invio risposta completata Arrivo risposta al client Analisi risposta Visualizz.

risposta

Client (browser) Latenza di rete client-server Tempo di attesa in coda Tempo di parsing Tempo di elaborazione: CPU+Disk Tempo di trasm.

risposta server Latenza di rete server-client Server Web

32

Parte 3: Server WWW

Gennaio 2001

Componenti di un sito Web

Piattaforma hardware

Software di base

• •

Parte informativa del sito Web

– Il sito deve mettere a disposizione un insieme di risorse Web che possono essere richieste dai client con cui vengono instaurate delle connessioni HTTP.

Server Web

– Il processo server ed il relativo software che viene eseguito sulla piattaforma stabilisce il collegamento tra la piattaforma (hardware - software di base) e la parte informativa del sito Web.

34

Gennaio 2001

Compiti del server Web

Il compito del server che fornisce pagine Web statiche è molto semplice: – attendere da parte dei browser richieste di connessione TCP attraverso cui ricevere una richiesta HTTP – decifrare l’URL della richiesta per determinare il file cercato – controllare se il file è disponibile – in caso affermativo, spedire il file al browser attraverso la connessione TCP aperta – infine, chiudere la connessione subito dopo aver inviato l’ultimo pacchetto concernente il file 35

Gennaio 2001

Richiesta di un oggetto statico

Client (browser) DNS server Web

DNS lookup CPU memoria disco rete 36

Gennaio 2001

Richiesta di un oggetto dinamico

Client (browser) DNS server Web server applicativo

DNS lookup CPU disco rete 37

Parte 4: Ottimizzazioni del WWW

Gennaio 2001

Il “lato oscuro” del Web

Netscape error: web server www.dsi.unimo.it

... not responding. Server may have crashed or is overloaded.

OK

39

Gennaio 2001

Possibili ottimizzazioni

Mirroring

Proxy caching e CDN

Sistemi Web paralleli (distribuiti localmente)

Sistemi Web distribuiti (geograficamente)

40

Gennaio 2001

Server Proxy

Nel caso più semplice la comunicazione tra client e server Web avviene direttamente.

Più in generale, ove non sia possibile o non conveniente che il client contatti direttamente il server, vengono utilizzati degli intermediari che possono essere di vari tipi , ma tra cui il più diffuso è il

server proxy

.

41

Gennaio 2001

Richieste tramite server proxy

Client 1

(1) (4)

Server proxy

(2) (3)

Server Web Client k

FIREWALL Il server proxy agisce sia da server nei confronti del client Web sia da client nei confronti del server Web.

42

Gennaio 2001

Caching dell’informazione

• I server proxy, nati come intermediari per consentire la comunicazione tra client all’interno di Intranet con server Web esterni, sono anche utilizzati come strumenti di

caching

(memorizzazione temporanea)

dell’informazione

.

• MOTIVO: è elevata la probabilità che i client della stessa organizzazione possono essere interessati alle medesime informazioni Web .

• Nel momento in cui tale informazione viene reperita per la prima volta da un server Web, può essere conveniente memorizzarla nel

server proxy

, in modo che successive richieste per la stessa pagina provenienti dalla stessa rete possono essere soddisfatte localmente.

43

Gennaio 2001

Proxy caching

Client 1 Client k

FIREWALL

Server proxy (cache)

Cache Miss Cache Hit

Server proxy (cache) Server Web

44

Gennaio 2001

Content Delivery Network

45

Gennaio 2001

Ottimizzazioni dal lato server Web

Sistemi con più memoria e con CPU più potenti LAN Sistemi con più server WAN

46

Gennaio 2001

Sistemi Web paralleli

server Web 1 server Web 2 server Web 3 Client browser

richiesta/risposta HTTP INTERNET

144.55.62.18

www.uniroma1.it?

name server locale Switch

144.55.62.18

name server autoritativo per

www.uniroma1.it

LAN

server Web 5 server Web 4

47

Gennaio 2001

Sito Web distribuito geograficamente

Server Web

48

Parte 5: Conclusioni

Gennaio 2001

Sintesi (parole chiave del WWW)

• • • • • • • •

risorse Web URL ipertesto - ipermedia linguaggio di markup HTML tag tag àncora client/server protocollo HTTP

• • • • • • •

browser fase di lookup server Web server proxy proxy caching sistemi Web paralleli sistemi Web distribuiti geograficamente

50