10110 Reti di Calcolatori 01100 01011 IL LIVELLO

  • Slides: 30
Download presentation
10110 Reti di Calcolatori 01100 01011 IL LIVELLO APPLICAZIONI WEB e HTTP

10110 Reti di Calcolatori 01100 01011 IL LIVELLO APPLICAZIONI WEB e HTTP

10110 Applicazioni di Rete 01100 01011 n World Wide Web n URL n Web

10110 Applicazioni di Rete 01100 01011 n World Wide Web n URL n Web Client n Web Server n HTTP n Futuro del Web

10110 World Wide Web (WWW) 01100 01011 n Il World Wide Web è una

10110 World Wide Web (WWW) 01100 01011 n Il World Wide Web è una architettura software per l’accesso a documenti distribuiti su Internet e collegati tra loro. n “Ragnatela” mondiale di documenti organizzati secondo un modello ipertestuale. n Concetti n n n di base: Internet, ipertesti, multimedialità.

10110 World Wide Web (WWW) 01100 01011 n Nato nel 1989 al CERN di

10110 World Wide Web (WWW) 01100 01011 n Nato nel 1989 al CERN di Ginevra come mezzo per scambiare informazioni. n Nel 1994 è stato fondato il W 3 C - Consorzio World Wide Web (www. w 3 c. org). n La prima interfaccia grafica è stata Mosaic.

10110 Organizzazione di un testo 01100 lettura sequenziale 01011 pag 2 pag 6 pag

10110 Organizzazione di un testo 01100 lettura sequenziale 01011 pag 2 pag 6 pag 7 pag 4 pag 3 pag 5

10110 Organizzazione di un ipertesto 01100 01011 nodo (pagina) link ancora

10110 Organizzazione di un ipertesto 01100 01011 nodo (pagina) link ancora

Terminologia per gli Ipertesti sul Web 101100 01011 n Browser: programma applicativo per navigare

Terminologia per gli Ipertesti sul Web 101100 01011 n Browser: programma applicativo per navigare in rete. n Page (pagina): singolo “foglio” di un ipertesto. n Home-page: “punto di ingresso” di un sito web. n Link, iperlink: porzione di una pagina che, se selezionata, permette di raggiungere un altro punto dell’ipertesto o una nuova risorsa.

10110 HTML 01100 01011 n n n Gli ipertesti del Web sono scritti usando

10110 HTML 01100 01011 n n n Gli ipertesti del Web sono scritti usando il linguaggio Hyper. Text Markup Language (HTML). HTML non è programmazione! un linguaggio di HTML descrive la disposizione di tutti gli elementi presenti all’interno di un documento ipertestuale. Include documenti in altri formati.

10110 HTML 01100 01011 Alcuni pattern (comandi) HTML

10110 HTML 01100 01011 Alcuni pattern (comandi) HTML

HTML 101100 01011 n n Grazie al Web si possono condividere delle informazioni ma

HTML 101100 01011 n n Grazie al Web si possono condividere delle informazioni ma anche eseguire applicazioni. E’ possibile creare dei meccanismi di comunicazione interattiva mediante l’uso del linguaggio HTML opportunamente combinato con altri linguaggi di programmazione: n n Java, PHP, Javascript, Perl.

Web: Modello Client-Server 101100 01011 n n n Il Web usa il modello client-server

Web: Modello Client-Server 101100 01011 n n n Il Web usa il modello client-server per lo scambio delle informazioni. Il client, è realizzato dal browser che “gira” sull’elaboratore dell’utente. Il server, è un programma applicativo che “gira” sull’elaboratore del fornitore di informazioni (provider).

10110 Web Client-Server 01100 01011 LAN 1 client server LAN 2 Ogni volta che

10110 Web Client-Server 01100 01011 LAN 1 client server LAN 2 Ogni volta che si usano indirizzi simbolici c’è di mezzo il DNS server client

Uniform Resource Locator 101100 01011 n Gli indirizzi per “trovare” i documenti nel Web

Uniform Resource Locator 101100 01011 n Gli indirizzi per “trovare” i documenti nel Web sono detti Uniform Resource Locator (URL) e identificano in modo univoco i nodi (i documenti). protocollo: //indirizzodelserver[: porta. TCP]/pathname n http: //www. deis. unical. it/index. html è l’indirizzo della home-page del DEIS.

Browser Web Aperto ad altri Protocolli 101100 01011 n Molti browser web sono in

Browser Web Aperto ad altri Protocolli 101100 01011 n Molti browser web sono in grado di gestire diversi protocolli definiti negli URL. n http HTTP http: //www. deis. unical. it/index. html n ftp FTP ftp: //ftp. lcs. mit. edu/pub/README n file locale C: doclezione-reti. ppt n news gruppo news: comp. os. linux n news articolo news: 00165672@cs. berkeley. edu n mailto invio emailto: folino@icar. cnr. it n telnet login remoto telnet: //si. deis. unical. it

101100 01011 Web Servers

101100 01011 Web Servers

Web Servers e Download di Pagine Web 101100 01011 n Il browser controlla e

Web Servers e Download di Pagine Web 101100 01011 n Il browser controlla e determina l’URL, (es. www. w 3 c. org), n Il browser chiede al DNS l’indirizzo IP del sito richiesto, n Il DNS risponde 18. 23. 0. 23, n n Il browser crea una connessione TCP sulla porta 80 della macchina 18. 23. 0. 23, Il browser invia il comando GET /hypertext/WWW/The. Project. html HTTP/1. 0 n Il server invia il file The. Project. html, n Viene chiusa la connessione TCP, n Il browser visualizza il testo del file e quindi le immagini contenute in esso.

Protocollo HTTP 101100 01011 n La comunicazione tra client e server Web avviene seguendo

Protocollo HTTP 101100 01011 n La comunicazione tra client e server Web avviene seguendo il protocollo HTTP. n n n Hyper Text Transmission Protocol (HTTP) introdotto per trasmettere documenti ipertestuali / ipermediali sulla rete. Il protocollo definisce l’interazione risposte) tra client e server Web. (richieste e Le richieste HTTP sono in formato ASCII e le risposte in formato MIME.

Protocollo HTTP 101100 01011 n n Ogni sito Web ha un processo server in

Protocollo HTTP 101100 01011 n n 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).

Richieste HTTP 101100 01011 n La linea iniziale di una richiesta è formata da

Richieste HTTP 101100 01011 n La linea iniziale di una richiesta è formata da 3 parti n n Metodo Percorso locale della risorsa richiesta Versione di HTTP usata Esempio di richiesta GET /index. html HTTP/1. 0 Header Linea Iniziale Host: haldo. deis. unical. it User-Agent: Mozilla/4. 0 (Windows; U; Win. XP; en-US; m 18) Gecko/20010131 Netscape 6/6. 01 Accept: */* Accept-Language: en Accept-Encoding: gzip, deflate, compress, identity Keep-Alive: 200 Connection: keep-alive

10110 Metodi HTTP 01100 01011 n I metodi HTTP definiscono le operazioni possibili su

10110 Metodi HTTP 01100 01011 n I metodi HTTP definiscono le operazioni possibili su una risorsa n n GET chiede la lettura di una risorsa Web. Se è seguita dall’intestazione If. Modified-Since il server invia i dati solo se sono stati modificati dopo la data specificata (gestione cache del browser). HEAD Richiede solo le intestazioni relative alla risorsa. Serve per verificare le caratteristiche della risorsa senza trasferirla. Occorre avere i permessi n n POST Utilizzato per inviare dati da elaborare al server. L’intestazione è seguita da un corpo della richiesta che contiene i dati. Altri metodi : PUT, DELETE, LINK e UNLINK.

Risposta HTTP 101100 01011 n La linea iniziale di una risposta contiene informazione di

Risposta HTTP 101100 01011 n La linea iniziale di una risposta contiene informazione di stato. Segue l’header e la risorsa Web in formato HTML. header HTTP/1. 1 200 OK Date: Wed, 06 Nov 2002 18: 45: 22 GMT Server: Apache/1. 5. 10 (Win 32) Last-Modified: Wed, 06 Nov 2002 18: 40: 50 GMT ETag: "0 -64 -3 b 1 eaf 7 a" Accept-Ranges: bytes Content-Length: 100 Connection: close Content-Type: text/html Linea vuota risorsa <HTML> <HEAD> <TITLE>Sito Web di Topolino</TITLE> </HEAD> <BODY> <H 1>Informazioni principali</H 1> …… </BODY>

Intestazioni 101100 01011 n Seguono il formato specificato in RFC 822 anche per le

Intestazioni 101100 01011 n Seguono il formato specificato in RFC 822 anche per le e-mail n HTTP 1. 0 definisce 16 header (tutti opzionali) HTTP 1. 1 definisce 46 header (obbligatorio Host: ) n Alcuni esempi : n 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.

10110 Proxy HTTP 01100 01011 n n Un proxy HTTP agisce da intermediario fra

10110 Proxy HTTP 01100 01011 n n Un proxy HTTP agisce da intermediario fra il client e il server n Riceve le richieste dal client, n Propaga la richiesta al server corretto, n Gestisce protocolli diversi da HTTP. Sono usati su LAN per caching o accesso ad Internet tramite firewall per controllare gli accessi alla rete. Richiesta HTTP Risposta HTTP Proxy FTP Richiesta FTP Risposta FTP Server FTP

10110 HTTP 1. 1 01100 01011 n Permette più transazioni connessione persistente. n n

10110 HTTP 1. 1 01100 01011 n Permette più transazioni connessione persistente. n n su una stessa 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. n n Non si deve specificare la lunghezza del nell’intestazione, Il messaggio è scomposto in blocchi (chunks). messaggio

10110 HTTP 1. 1 01100 01011 n n Ha introdotto il supporto per le

10110 HTTP 1. 1 01100 01011 n n 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 n Uso dell’intestazione Host: -> specifica il nome del sito a cui è indirizzata la richiesta.

Multi-Homed IP 101100 01011 n n Un server allo stesso indirizzo IP può gestire

Multi-Homed IP 101100 01011 n n Un server allo stesso indirizzo IP può gestire più domini. Richiede l’utilizzo di alias nel DNS. www. x 1. org DNS www. x 2. org 118. 23. 12. 1 Server Web unico

10110 Web Server Multi-thread 01100 01011 n Un Web server efficiente può gestire le

10110 Web Server Multi-thread 01100 01011 n Un Web server efficiente può gestire le chiamate tramite un insieme di thread che gestiscono le diverse richieste dei client.

10110 Presente e Futuro del Web 01100 01011 n Pagine Dinamiche (JSP, ASP, PHP);

10110 Presente e Futuro del Web 01100 01011 n Pagine Dinamiche (JSP, ASP, PHP); n Extended Markup Languge (XML); n Web Services.

10110 XML 01100 01011 Semplice esempio di documento XML

10110 XML 01100 01011 Semplice esempio di documento XML

10110 Riferimenti 01100 01011 HTTP: http: //www. w 3. org/Protocols/ HTML: http: //www. w

10110 Riferimenti 01100 01011 HTTP: http: //www. w 3. org/Protocols/ HTML: http: //www. w 3. org/Mark. Up/ XML: http: //www. w 3. org/XML/ Web Services: http: //www. w 3. org/2002/ws/