Title: Reti di Calcolatori
1Reti di Calcolatori
- IL LIVELLO APPLICAZIONI
- WEB e HTTP
2Applicazioni di Rete
- World Wide Web
- URL
- Web Client
- Web Server
- HTTP
- Futuro del Web
3World Wide Web (WWW)
- Il World Wide Web è una architettura software per
laccesso a documenti distribuiti su Internet e
collegati tra loro. - Ragnatela mondiale di documenti organizzati
secondo un modello ipertestuale. - Concetti di base
- Internet,
- ipertesti,
- multimedialità .
4World Wide Web (WWW)
- Nato nel 1989 al CERN di Ginevra come mezzo per
scambiare informazioni. - Nel 1994 è stato fondato il W3C - Consorzio World
Wide Web (www.w3c.org). - La prima interfaccia grafica è stata Mosaic.
5Organizzazione di un testo
lettura sequenziale
pag1
pag6
pag7
pag4
pag2
pag5
pag3
6Organizzazione di un ipertesto
nodo (pagina)
link
ancora
7Terminologia per gli Ipertesti sul Web
- Browser programma applicativo per navigare in
rete. - Page (pagina) singolo foglio di un ipertesto.
- Home-page punto di ingresso di un sito web.
- Link, iperlink porzione di una pagina che, se
selezionata, permette di raggiungere un altro
punto dellipertesto o una nuova risorsa.
8HTML
- Gli ipertesti del Web sono scritti usando il
linguaggio HyperText Markup Language (HTML). - HTML non è un linguaggio di programmazione!
- HTML descrive la disposizione di tutti gli
elementi presenti allinterno di un documento
ipertestuale. Include documenti in altri formati.
9HTML
- Alcuni pattern (comandi) HTML
10HTML
- Grazie al Web si possono condividere delle
informazioni ma anche eseguire applicazioni. - E possibile creare dei meccanismi di
comunicazione interattiva mediante luso del
linguaggio HTML opportunamente combinato con
altri linguaggi di programmazione - Java,
- PHP,
- Javascript,
- Perl.
11Web Modello Client-Server
- Il Web usa il modello client-server per lo
scambio delle informazioni. - Il client, è realizzato dal browser che gira
sullelaboratore dellutente. - Il server, è un programma applicativo che gira
sullelaboratore del fornitore di informazioni
(provider).
12Web Client-Server
LAN 1
client
client
server
LAN 2
Ogni volta che si usano indirizzi simbolici cè
di mezzo il DNS
server
client
client
client
server
13Uniform Resource Locator
- Gli indirizzi per trovare i documenti nel Web
sono detti Uniform Resource Locator (URL) e
identificano in modo univoco i nodi (i documenti).
protocollo//indirizzodelserverportaTCP/pathnam
e
- http//www.deis.unical.it/index.html
- è lindirizzo della home-page del DEIS.
14Browser Web Aperto ad altri Protocolli
- Molti browser web sono in grado di gestire
diversi protocolli definiti negli URL. - http HTTP http//www.deis.unical.it/index.html
- ftp FTP ftp//ftp.lcs.mit.edu/pub/README
- file file locale C\doc\lezione-reti.ppt
- news gruppo news newscomp.os.linux
- news articolo news news00165672_at_cs.berkeley.edu
- mailto invio email mailtofolino_at_icar.cnr.it
- telnet login remoto telnet//si.deis.unical.it
15Web Servers
16Web Servers e Download di Pagine Web
- Il browser controlla e determina lURL, (es.
www.w3c.org), - Il browser chiede al DNS lindirizzo IP del sito
richiesto, - Il DNS risponde 18.23.0.23,
- Il browser crea una connessione TCP sulla porta
80 della macchina 18.23.0.23, - Il browser invia il comando
- GET /hypertext/WWW/TheProject.html HTTP/1.0
- Il server invia il file TheProject.html,
- Viene chiusa la connessione TCP,
- Il browser visualizza il testo del file e quindi
le immagini contenute in esso.
17Protocollo HTTP
- La comunicazione tra client e server Web avviene
seguendo il protocollo HTTP. - Hyper Text Transmission Protocol (HTTP)
introdotto per trasmettere documenti ipertestuali
/ ipermediali sulla rete. - Il protocollo definisce linterazione (richieste
e risposte) tra client e server Web. - Le richieste HTTP sono in formato ASCII e le
risposte in formato MIME.
18Protocollo HTTP
- Ogni sito Web ha un processo server in ascolto su
una porta TCP. - La porta standard è la numero 80 ma può essere
usata una porta con numero diverso (es. 443 per
la versione sicura HTTPS). - Questo permette di avere più server Web su una
stessa macchina. - Il protocollo è senza stato (non cè memoria
delle transazioni).
19Richieste HTTP
- La linea iniziale di una richiesta è formata da 3
parti
- Metodo
- Percorso locale della risorsa richiesta
- Versione di HTTP usata
GET /index.html HTTP/1.0 Host
haldo.deis.unical.it User-Agent Mozilla/4.0
(Windows U WinXP en-US m18) Gecko/20010131
Netscape6/6.01 Accept / Accept-Language
en Accept-Encoding gzip,deflate,compress,identity
Keep-Alive 200 Connection keep-alive
Linea Iniziale
Header
20Metodi HTTP
- I metodi HTTP definiscono le operazioni possibili
su una risorsa
- GETchiede la lettura di una risorsa Web. Se è
seguita dallintestazione If-Modified-Since il
server invia i dati solo se sono stati modificati
dopo la data specificata (gestione cache del
browser). - HEADRichiede solo le intestazioni relative alla
risorsa. Serve per verificare le caratteristiche
della risorsa senza trasferirla. - POSTUtilizzato per inviare dati da elaborare al
server. Lintestazione è seguita da un corpo
della richiesta che contiene i dati. - Altri metodi PUT, DELETE, LINK e UNLINK.
21Risposta HTTP
- La linea iniziale di una risposta contiene
informazione di stato. Segue lheader e la
risorsa Web in formato HTML.
HTTP/1.1 200 OK Date Wed, 06 Nov 2002 184522
GMT Server Apache/1.5.10 (Win32) Last-Modified
Wed, 06 Nov 2002 184050 GMT ETag
"0-64-3b1eaf7a" Accept-Ranges bytes Content-Lengt
h 100 Connection close Content-Type text/html
ltHTMLgt ltHEADgt ltTITLEgtSito Web di
Topolinolt/TITLEgt lt/HEADgt ltBODYgt ltH1gtInformazioni
principalilt/H1gt lt/BODYgt
header
Linea vuota
risorsa
22Intestazioni
- Seguono il formato specificato in RFC 822 anche
per le e-mail - HTTP 1.0 definisce 16 header (tutti opzionali)
- HTTP 1.1 definisce 46 header (obbligatorio Host)
- Alcuni esempi
User-Agent Identifica il programma client che
effettua la richiesta. Individua clients,
spiders, ecc.. Server Identifica il
server. Last-Modified Indica la data di
modifica della risorsa. E usata per gestire le
cache. Content-Type Tipo MIME del corpo del
messaggio. Content-Length Lunghezza in byte del
corpo del messaggio.
23Proxy HTTP
- Un proxy HTTP agisce da intermediario fra il
client e il server - Riceve le richieste dal client,
- Propaga la richiesta al server corretto,
- Gestisce protocolli diversi da HTTP.
- Sono usati su LAN per caching o accesso ad
Internet tramite firewall per controllare gli
accessi alla rete.
Richiesta FTP
Proxy FTP
Richiesta HTTP
Risposta HTTP
Risposta FTP
Server FTP
24HTTP 1.1
- Permette più transazioni su una stessa
connessione persistente. - Le richieste sono inviate in pipelining e si
ricevono le risposte nello stesso ordine. - Risposta più veloce per pagine generate
dinamicamente utilizzando la codifica chunked. - Non si deve specificare la lunghezza del
messaggio nellintestazione, - Il messaggio è scomposto in blocchi (chunks).
25HTTP 1.1
- Ha introdotto il supporto per le cache
(If-Modified-Since) - Uso migliore degli indirizzi IP permettendo di
ospitare più siti virtuali su uno stesso server
con un solo IP - Uso dellintestazione Host -gt specifica il nome
del sito a cui è indirizzata la richiesta.
26Multi-Homed IP
- Un server allo stesso indirizzo IP può gestire
più domini. - Richiede lutilizzo di alias nel DNS.
DNS
www.x1.org
118.23.12.1
www.x2.org
118.23.12.1
Server Web unico
27Web Server Multi-thread
- Un Web server efficiente può gestire le chiamate
tramite un insieme di thread che gestiscono le
diverse richieste dei client.
28Presente e Futuro del Web
- Pagine Dinamiche (JSP,ASP,PHP)
- Extended Markup Languge (XML)
- Web Services.
29XML
- Semplice esempio di documento XML
30Riferimenti
- HTTP http//www.w3.org/Protocols/
HTML http//www.w3.org/MarkUp/
XML http//www.w3.org/XML/
Web Services http//www.w3.org/2002/ws/