Laboratorio Di Basi Di Dati 05 Architettura Del Web

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Laboratorio Di Basi Di Dati 05 Architettura Del Web - Presentation Transcript

    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. 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. 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. 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=\"utf-8\" 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. Richieste con POST POST /Pagina HTTP/1.1 Host: nome.dominio.org Content-Type: text/html; charset=\"utf-8\" 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. 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. 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. 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. 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. 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. Tecnologie del Web HTTP Server DBMS Server Client A.A. 2005/2006 Basi di Dati e Laboratorio 31 11

    + guestbe916cguestbe916c, 2 years ago

    custom

    346 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 346
      • 346 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 5
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories