Corso di Basi di Dati e Laboratorio




           Introduzione al Web
              Alfio Ferrara - Stefano Montanelli


...
Architettura del Web

• I volti nuovi
   – SOAP
   – WSDL
   – XSLT
   – RDF
   – OWL
   –…




 A.A. 2005/2006   Basi di ...
Il Web statico
                                   Richiesta
                                    HTTP
                     ...
HTTP Response

• Codice della risposta (e.g., ok, bad
  request, unauthorized, …)
• Tipo di dati inviato
• Dimensione del ...
Richieste con POST

    POST /Pagina HTTP/1.1
    Host: nome.dominio.org
    Content-Type: text/html; charset=quot;utf-8qu...
Risposte HTTP

• …oppure la richiesta era formulata male
  HTTP/1.1 400 Bad Request
  Date: Wed, 03 Dec 2003 04:18:18 GMT
...
Risoluzione della richiesta
    http://127.0.0.1/cartella0/cartella1/index.php
    http://127.0.0.1/cartella1/index.php
  ...
Browser

• La maggior parte dei browser “nasconde”
  alcuni aspetti della comunicazione
   – Il protocollo di default è HT...
XML

• Metalinguaggio di marcatura orientato al
  contenuto e derivato da SGML
• Permette di definire propri tag e lo sche...
Il Web dinamico

• Le pagine Web non contengono solo
  istruzioni HTML o XML per il browser ma
  istruzioni di un linguagg...
Tecnologie del Web




                                      HTTP Server



                                              ...
Upcoming SlideShare
Loading in …5
×

Laboratorio Di Basi Di Dati 05 Architettura Del Web

902 views
817 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
902
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Laboratorio Di Basi Di Dati 05 Architettura Del Web

  1. 1. Corso di Basi di Dati e Laboratorio Introduzione al Web Alfio Ferrara - Stefano Montanelli A.A. 2005/2006 Basi di Dati e Laboratorio 1 Architettura del Web • Personaggi principali – HTTP – Web server – Browser – HTML – CSS – XML A.A. 2005/2006 Basi di Dati e Laboratorio 2 Architettura del Web • I protagonisti del Web dinamico – DBMS server – Linguaggi di scripting lato server – Linguaggi di scripting lato client – Plugin A.A. 2005/2006 Basi di Dati e Laboratorio 3 1
  2. 2. Architettura del Web • I volti nuovi – SOAP – WSDL – XSLT – RDF – OWL –… A.A. 2005/2006 Basi di Dati e Laboratorio 4 Architettura del Web • Il protocollo HTTP consente l’invio di richieste e risposte fra un client (tipicamente un browser) e un server • Le comunicazioni possono veicolare diverse tipologie di contenuto (testo, dati binari) • Tipicamente vengono trasmessi documenti testuali (HTML, XML) A.A. 2005/2006 Basi di Dati e Laboratorio 5 Architettura del Web • Un documento di testo inviato attraverso il protocollo HTTP possiede una codifica • In particolare lo standard HTML permette di definire documenti ipertestuali, e contiene informazioni di presentazione per il client • XML consente di definire la struttura del documento a prescindere dalla sua presentazione A.A. 2005/2006 Basi di Dati e Laboratorio 6 2
  3. 3. Il Web statico Richiesta HTTP URL HTTP Server Risposta HTTP Client Binari Testo A.A. 2005/2006 Basi di Dati e Laboratorio 7 HTTP • La comunicazione HTTP – Il client apre una connessione TCP/IP… – …invia un messaggio HTTP e rimane in attesa… – …il server risponde con un messaggio HTTP… – …la connessione TCP/IP viene chiusa A.A. 2005/2006 Basi di Dati e Laboratorio 8 HTTP Request • Specifica del metodo di invio (POST/GET), del destinatario, e della versione del protocollo • Specifica dell’URL del server • Specifica del tipo di pacchetto (e.g., text/html) • Specifica della dimensione del pacchetto A.A. 2005/2006 Basi di Dati e Laboratorio 9 3
  4. 4. HTTP Response • Codice della risposta (e.g., ok, bad request, unauthorized, …) • Tipo di dati inviato • Dimensione del pacchetto di risposta A.A. 2005/2006 Basi di Dati e Laboratorio 10 Il metodo GET GET URI?parametro=valore HTTP/1.1 Host: nome.dominio.org Richiesta Accept: text/html HTTP/1.1 200 OK Content-Type: text/html; charset=quot;utf-8quot; Content-Length: nnnn Risposta <html> … </html> A.A. 2005/2006 Basi di Dati e Laboratorio 11 Il metodo POST • Consente la formulazione sia di un messaggio di richiesta che di un messaggio di risposta • Non vi sono limiti di dimensione e i parametri sono specificati nel corpo del messaggio di richiesta A.A. 2005/2006 Basi di Dati e Laboratorio 12 4
  5. 5. Richieste con POST POST /Pagina HTTP/1.1 Host: nome.dominio.org Content-Type: text/html; charset=quot;utf-8quot; Content-Length: nnnn Parametro = Valore … A.A. 2005/2006 Basi di Dati e Laboratorio 13 Risposte HTTP • Tutto è andato bene… HTTP/1.1 200 OK Date: Wed, 03 Dec 2003 03:57:31 GMT Server: Apache/1.3.27 (Darwin) PHP/4.2.3 Content-Location: index.html.en Last-Modified: Wed, 18 Jul 2001 23:44:21 Content-Length: 1456 Content-Type: text/html Content-Language: en <html> … </html> A.A. 2005/2006 Basi di Dati e Laboratorio 14 Risposte HTTP • Un errore, la pagina richiesta non è presente… HTTP/1.1 404 Not Found Date: Wed, 03 Dec 2003 04:19:27 GMT Server: Apache/1.3.27 (Darwin) PHP/4.2.3 Content-Type: text/html; charset=iso-8859-1 <html> <!--pagina associata all’errore--> </html> A.A. 2005/2006 Basi di Dati e Laboratorio 15 5
  6. 6. Risposte HTTP • …oppure la richiesta era formulata male HTTP/1.1 400 Bad Request Date: Wed, 03 Dec 2003 04:18:18 GMT Server: Apache/1.3.27 (Darwin) PHP/4.2.3 Connection: close Content-Type: text/html; charset=iso-8859-1 <html> <!--pagina associata all’errore--> </html> A.A. 2005/2006 Basi di Dati e Laboratorio 16 URL • Universal Resource Location • Specifica l’indirizzo di una risorsa Web nella forma: – http://host.dominio.dominio/path/risorsa protocollo indirizzo percorso file A.A. 2005/2006 Basi di Dati e Laboratorio 17 Parametri • Sia il metodo GET sia il metodo POST consentono la definizione di parametri associati alla richiesta • Sintassi GET – http://URL? par0=valore&par1=valore • Sintassi POST – par0=valore – par1=valore A.A. 2005/2006 Basi di Dati e Laboratorio 18 6
  7. 7. Risoluzione della richiesta http://127.0.0.1/cartella0/cartella1/index.php http://127.0.0.1/cartella1/index.php HTTP/1.1 404 Not Found HTTP/1.1 200 OK HTTP Server Cartella0 File System Cartella1 HTTP Server Root Directory (/) Index.php A.A. 2005/2006 Basi di Dati e Laboratorio 19 Assenza di stati • Fra le diverse richieste di risorse che compongono una transazione Web non viene mai conservata alcuna informazione sullo stato di esecuzione • Inoltre le connessioni non sono continue • Senza un’ulteriore richiesta di una pagina non vi è alcun aggiornamento sui suoi contenuti A.A. 2005/2006 Basi di Dati e Laboratorio 20 Browser • I browser svolgono molti compiti • Essi però nascono come client HTTP capaci di interpretare e visualizzare codice HTML ricevuto da un server HTTP • Spesso sono utilizzati come file manager o per visualizzare contenuti locali • Fra la visualizzazione di pagine Web fornite da un server e pagine locali vi è tuttavia una significativa differenza A.A. 2005/2006 Basi di Dati e Laboratorio 21 7
  8. 8. Browser • La maggior parte dei browser “nasconde” alcuni aspetti della comunicazione – Il protocollo di default è HTTP anche se non viene specificato – La porta di comunicazione è la 80 anche se non specificato • I server HTTP hanno dei default per quanto riguarda ad esempio i nomi delle pagine di indice di una directory A.A. 2005/2006 Basi di Dati e Laboratorio 22 HTML • Linguaggio di marcatura derivato da SGML • Ha l’obiettivo di definire l’aspetto che un browser dovrà dare alla presentazione di una pagina Web • Permette la definizione di link ipertestuali • Lo stile degli elementi è dissociato dagli elementi stessi attraverso fogli di stile CSS A.A. 2005/2006 Basi di Dati e Laboratorio 23 HTML - un esempio <html> index.html <head> link a stile.css </head> <body> … <p class=“txt”>testo</p> </body> </html> stile.css .txt{color:#ff9900;} A.A. 2005/2006 Basi di Dati e Laboratorio 24 8
  9. 9. XML • Metalinguaggio di marcatura orientato al contenuto e derivato da SGML • Permette di definire propri tag e lo schema del proprio linguaggio purché: – Gli elementi siano sempre parte di un nodo padre – Non vi siano sovrapposizioni – Gli elementi abbiano sempre una chiusura A.A. 2005/2006 Basi di Dati e Laboratorio 25 XML • XML non implica una formattazione da parte di un browser • Per ottenere una visualizzazione occorre associare un foglio di stile (XSL) o una trasformazione del documento (XSLT) • XML e i linguaggi della famiglia XML per la propria flessibilità sono uno standard accettato per la trasmissione di documenti A.A. 2005/2006 Basi di Dati e Laboratorio 26 Un possibile uso di XML HTML WML XML HTML Trasformazione XSLT A.A. 2005/2006 Basi di Dati e Laboratorio 27 9
  10. 10. Il Web dinamico • Le pagine Web non contengono solo istruzioni HTML o XML per il browser ma istruzioni di un linguaggio di programmazione interpretate (nel caso di script lato server) ma moduli invocati dal server HTTP • Tali istruzioni consentono anche l’accesso alle risorse lato server, tra le quali sono fondamentali i database A.A. 2005/2006 Basi di Dati e Laboratorio 28 Web dinamico Richiesta HTTP HTTP Server Client La pagina contiene script NO lato server? NO Gli script richiedono Sì Sì connessioni al DBMS? Interprete del linguaggio di scripting (ASP, PHP, …) DBMS Server A.A. 2005/2006 Basi di Dati e Laboratorio 29 Pagine dinamiche Lato server <html> … <body> <? Lato client Istruzioni di scripting ?> <html> </body> … </html> <body> Risultato dell’elaborazione </body> </html> A.A. 2005/2006 Basi di Dati e Laboratorio 30 10
  11. 11. Tecnologie del Web HTTP Server DBMS Server Client A.A. 2005/2006 Basi di Dati e Laboratorio 31 11

×