Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI...

25
Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti di Informatica COM1-COM5 e S.E.C.I. a.a. 2004/2005

Transcript of Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI...

Page 1: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

Dipartimento di Ingegneria Informatica (DINFO)

Università degli Studi di Palermo

Laboratorio CSAI

Il World Wide Web

Prof. Roberto Pirrone

Corso di Fondamenti di Informatica

COM1-COM5 e S.E.C.I.

a.a. 2004/2005

Page 2: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Il World Wide Web Il World Wide Web (WWW) è un servizio di consultazione di documenti

organizzati secondo una struttura ipertestuale distribuita sulla rete Internet.

Il WWW è sicuramente il componente più visibile di Internet, tanto che si tende ad identificarlo con quest’ultima.

Si possono distinguere due grandi usi della tecnologia web: Come strumento ipertestuale di comunicazione (in forma nativa) Come strumento di comodo interfacciamento di altri servizi di rete

(accesso a banche dati, e-commerce, sistemi informativi aziendali, etc.)

Nella seconda forma la tecnologia del web viene usata anche in ambienti “chiusi”, come le reti aziendali, cioè non direttamente collegati ad internet. In questa accezione nasce il concetto di Intranet.

Page 3: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Cos’è un sito web

Un sito web può essere definito come un particolare tipo di ipertesto.

Ipertesto: organizzazione di materiale informativo (in genere multimediale) in forma tale da consentirne una fruizione non lineare in cui sono presenti dei percorsi di fruizione predefiniti dal progettista secondo un preciso progetto comunicativo.

Page 4: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Elementi di un ipertesto

In un qualunque ipertesto (e quindi anche nel web) si possono individuare i seguenti elementi fondamentali:

Nodo: unità informativa autosufficiente, testuale e non; in genere in un nodo sono presenti più elementi eterogenei (testo, grafica, filmati etc.)

Ancora: punto di origine o di termine di un collegamento ad un’altra unità.

Link: collegamento ad un’altra unità; può avere diverse funzioni (salto, riferimento, comando, nota esplicativa etc.) ed è agganciato a due ancore.

Page 5: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Struttura di un ipertesto

Lista

Lista doppia

Page 6: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Struttura di un ipertesto

Albero

Page 7: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Struttura di un ipertesto

Maglia o Grafo

Page 8: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Principio di funzionamento del web

Page 9: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Principio di funzionamento del web

Page 10: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Principio di funzionamento del web

Page 11: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Principio di funzionamento del web

Page 12: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

URL Una URL (Uniform Resource Locator) è una

struttura unificata di accesso alle risorse di rete, la cui sintassi generica è:

<protocollo><indirizzo><percorso>

http://www.csai.unipa.it/pirrone/courses/ita/fondinfo.htm

mailto:[email protected]

ftp://ftp.unina.it/pub/linux/redhat/

Page 13: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Tipi di URL Richiesta di un documento ipertestuale:

http://<nome_server>[:<numero_porta>]/<percorso>

[/<nome_file_html>][#<ancora>]

Numero porta: la porta TCP di erogazione del servizio, se diversa da 80 (default).

Se il nome del file html manca, si assume index.html, altrimenti bisogna specificarlo a priori.

Ancora: riferimento ad una zona precisa all’interno della pagina (usata per i riferimenti incrociati interni).

Page 14: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Tipi di URL

Richiesta di trasferimento file:

ftp://[<username>[%<password>]@]<nome server>/ <percorso>/<nome file>

Username e password: identificazione di un utente specifico, altrimenti si assume l’utente anonymous senza password.

Page 15: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Tipi di URL

Richiesta di terminale remoto:

telnet://<nome server>/

Richiesta di invio posta elettronica:

mailto:<nome utente>@<nome server> (spesso il nome del server coincide con quello del dominio: è il DNS del dominio a conoscere l’esatto indirizzo del server)

Richiesta di gruppi di discussione:

news:<nome gruppo di discussione>

Page 16: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Il web come interfaccia per applicazioni

La tecnologia WWW viene spesso utilizzata per accedere a delle informazioni e non come ipertesto con fini comunicativi Sistemi informativi (ad es. consultazione di archivi documentali) Carrello elettronico Motori di ricerca

In questo caso si utilizzano quelle che vengono definite pagine web dinamiche, perché esibiscono un contenuto che dipende dalle azioni svolte dall’utente attraverso l’interfaccia web.

L’elaborazione di tali pagine web può essere di due tipi Client side Server side

Page 17: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Elaborazione client-side

Le pagine dinamiche client-side sono pagine HTML che contengono codice sorgente o riferimenti a codice sorgente il quale viene eseguito dal browser Internet al momento della ricezione.

I linguaggi (detti linguaggi di scripting) che vengono utilizzati per queste applicazioni sono JavaScript o VBScript.

Spesso tali linguaggi sono utilizzati secondo una tecnologia di comunicazione detta ASP (Active Server Pages) la quale consente, ad esempio, un semplice accesso al contenuto di un database.

Page 18: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Elaborazione client-side

Page 19: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Elaborazione client-side

Page 20: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Elaborazione client-side

Page 21: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Elaborazione server-side

Le pagine dinamiche di tipo server-side consistono nell’esecuzione di programmi sul server web, i quali sono invocati tramite apposite URL e generano come risultato l’elaborazione dati richiesta e la generazione delle pagine HTML dinamiche come risposta al client.

L’interfaccia CGI (Common Gateway Interface) definisce una la più antica tecnologia per il passaggio dei dati ai programmi sul server: essa consente l’utilizzo di qualunque linguaggio di programmazione, anche se non di scripting.

Page 22: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

URL di richiesta di un programma CGI

La richiesta di esecuzione di un’applicazione lato server (cgi-bin) attraverso l’interfaccia CGI si configura nel modo seguente:

http://<nome server>[:<numero porta>]/<percorso>/

<programma>[?<param>+<valore>[&<param>+<valore>]]

Page 23: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Altre tecnologie server-side

I linguaggi di scripting più utilizzati per i cgi-bin sono il Perl e il PHP.

La tecnologia ASP è eseguibile anche server-side: il codice JavaScript o VBScript viene eseguito direttamente sul server, al momento dell’invio della pagina HTML che lo contiene.

Un’altra tecnologia concorrente di ASP è JSP (Java Server Pages) che utilizza il linguaggio di programmazione Java.

Page 24: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Esempio di elaborazione server-side: webmail

Page 25: Dipartimento di Ingegneria Informatica (DINFO) Università degli Studi di Palermo Laboratorio CSAI Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti.

DINFO – Università di Palermo

Applet e Servlet Java consente altre due modalità di elaborazione con interfaccia

web: Applet Servlet

Una applet Java è riferita all’interno della pagina ospitante attraverso il tag HTML <APPLET>. L’effettiva applicazione viene spedita separatamente al client e ha una serie di limitazioni dovute alla sicurezza: Non può accedere al disco locale Non può accedere ad alcuna periferica Può comunicare solo con il server che l’ha mandata

Una servlet è una vera e propria applicazione server che comunica tramite canale web.