Laboratorio di Informatica 3
Anno Accademico 2019-2020
Luigi Catuogno
Il World Wide Web
Introduzione
L’architettura del World Wide Web
Parte I
Il World Wide Web
Libri di testo consigliati:
Donatella Sciuto, Giacomo Buonanno, Luca Mari
Introduzione ai sistemi informatici
McGraw-Hill Italia. (2016)
ISBN 978-88-386-9216-1
Capitoli consigliati: Cap. 9: «Le applicazioni» 3
Il World Wide Web
E’ un complesso di “contenitori” di risorse: documenti (web pages), immagini, audio, video..
Il World Wide Web
In prima istanza, ciascun contenitore è un sito, e ha un suo nome che è univoco sulla rete...
www.imdb.com
www.nasa.gov
www.royal.uk 5
Il World Wide Web
Ciascuna risorsa ha, a sua volta un nome univoco nel suo sito (pathname) www.imdb.com www.nasa.gov www.royal.uk index.html spirit/index.html contacts.html phil.html spirit/MarsWind.mp3 HBogart.mp3 V2/BowShock.mp3 index.html Anthem.mp3 private/Diana.html spirit/landing.jpg private/Will.jpg logo.jpg J-Lo.jpg Final2.avi spirit/trip11.avi
Il World Wide Web
La combinazione di questi nomi, che permette di identificare ciascuna singola risorsa sul WEB, è l’ Universal Resource Locator (URL)
www.nasa.gov
spirit/index.html
http://www.nasa.gov/spirit/index.html
Il World Wide Web
• Una pagina web è un documento (composto in HTML) che:
• contiene un insieme di informazioni rappresentate in diversi formati
• (testo, immagini, audio, video …) e altre risorse.
http://www.nasa.gov/spirit/index.html
spirit/index.html
spirit/landing.jpg
spirit/trip11.avi spirit/MarsWind.mp3
Universal Resource Locator (URL)
L’URL rappresenta le “coordinate” di un documento.
http://www.nasa.gov/spirit/index.html
protocollo
nome del server
path del documento nome del documento
URL assoluti...
• indicano esplicitamente tutte le componenti:
http://www.jhu.edu/index.html
URL relativi/1
• Sottintendono varie informazioni:
• protocollo e server:
/spirit/landing.jpg
• protocollo e server e parte del path: esercizi/prova2.html
• Si assume quindi che questi dati non siano cambiati dalla richiesta precedente
Il World Wide Web
• Una pagina web è un documento (composto in HTML) che:
• contiene un insieme di informazioni rappresentate in diversi formati
• (testo, immagini, audio, video …) e altre risorse
• può contenere riferimenti ad altri documenti tramite un collegamento ipertestuale l’hyper-link o più semplicemente:
link
spirit/index.html
spirit/landing.jpg
https://en.wikipedia.org/wiki/The_Martian_(film)
spirit/MarsWind.mp3
Il World Wide Web
E’ l’insieme dei siti e dei link tra I rispettivi documenti a tessere la trama del WEB!
Il World Wide Web
E’ l’insieme dei siti e dei link tra I rispettivi documenti a tessere la trama del WEB!
Il World Wide Web
• Un
web server
è un software di rete che immagazzina e rende disponibili dell’utenza le pagine web e le risorse che possiede.• Per richiedere al server una pagina o una risorsa, bisogna fornire il suo URL
www.nasa.gov
http://www.nasa.gov/spirit/index.html
Il Web server...
• Attende indefinitamente che gli venga fatta richiesta di inviare una risorsa tra quelle che conserva;
• Una volta ricevuta una richiesta:
• verifica se la risosa indicata è disponibile ed in tal caso la invia.
• invia una “informazione di stato” che comunica al browser l’esito della richiesta.
• OK: la risorsa è disponibile • ERRORE:
• La risorsa non è disponibile
• Non è stato possibile evadere la richiesta perchè….
Il World Wide Web
L’utenza puo’ accedere ai documenti per mezzo di un apposito
programma in grado di connettersi ai server web:
il (web) browser
Web browser
• Cura la comunicazione via rete con il server, inviando le
richieste di risorse e ricevendo le risposte
• Visualizza le risorse ottenute, interpretando le istruzioni in
esse riportate al fine di un rendering corretto
• Cura l’interazione dell’utente con le risorse visualizzate
• Notifica all’utente eventuali condizioni di errore
Accesso ai documenti sul Web
Bowser Server
Richiesta del documento «Catalogo» 19
Accesso ai documenti sul Web
Bowser Server
Richiesta del documento «Catalogo»
Se il documento è disponibile (ed è accessibile), il server lo invia al browser insieme alle informazioni di stato e i «meta dati» del documento (tipo del contenuto, dimensioni…)
OK, 256KB, testo HTML, Invio del documento «Catalogo»
Accesso ai documenti sul Web
Bowser Server
Richiesta del documento «Catalogo»
Se qualcosa «va storto», il server risponde con un messaggio d’errore.
ERRORE: documento non trovato 21
Accesso ai documenti sul Web
Bowser Server
Richiesta del documento «Catalogo»
Il browser interpreta e visualizza il contenuto del documento. Se in esso è presente un link verso il documento «articolo» imagazzinato sul server2, e l’utente lo richiede…
OK, 256KB, testo HTML, Invio del documento «Catalogo»
Accesso ai documenti sul Web
Bowser Server
Richiesta del documento «Catalogo»
OK, 256KB, testo HTML, Invio del documento «Catalogo»
Server2 23
Server e browser...
• Sono entrambi in esecuzione su macchine connesse ad una rete TCP/IP (come Internet).
• Dialogano tra di loro tramite un protocollo denominato HTTP.
Hyper-Text Transfer Protocol (HTTP)
Hyper-Text Transfer Protocol (HTTP)
• E’ un protocollo di comunicazione su rete orientato al trasferimento di documenti ipertestuali.
• E’ nato originariamente per facilitare la consultazione di documenti scientifici.
HTTP stabilisce
• Il modo in cui deve essere descritto il contenuto di un documento. • I messaggi che browser e server si scambiano per effettuare una
consultazione.
• Il modo in cui devono essere descritte le informazioni di stato. 27
Messaggi HTTP
• Il browser invia al server una richiesta formata, ad esempio, come segue:
Metodo <risorsa> HTTP/<versione>
I metodi previsti...
• GET: richiede l’invio del documento di seguito indicato.
• HEAD: richiede l’invio dei dati descrittivi del documento indicato. • POST: invia dati ad una applicazione.
• PUT: invia un documento al server. 29
Query HTTP: esempi
• Richiesta del file index.html
GET /index.html HTTP/1.0
• Richiesta dei soli attributi del file /prove/tst1.htm
HEAD /prove/tst1.htm HTTP/1.0
Risposte HTTP
Il server risponde:
• con una informazione di stato (eventualmente un codice d’errore) e una breve descrizione testuale dello stato.
• Un Content-type, ossia una descrizione del tipo di documento che sta inviando.
• Una serie di altre informazioni sul documento
• (taglia, tipo di codifica, etc.).
• Il documento vero e proprio richiesto dal browser (se possibile). 31
Risposte HTTP: un esempio
• Il browser richiede il file mela.txt:
GET mela.txt HTTP/1.0 • Il server risponde: 200 OK Content-type: text/plain Content-length: … …
...{ contenuto del file }...
Alcuni codici d’errore
• 200 OK: l’operazione ha avuto esito positivo.
• 404 Not Found: l’oggetto richiesto non e’ disponibile. 33