Corso di Fondamenti di Informatica Il World Wide Web Prof. Roberto Pirrone Corso di Fondamenti di Informatica COM1-COM5 e S.E.C.I. a.a. 2004/2005
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.
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.
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.
Struttura di un ipertesto Lista Lista doppia
Struttura di un ipertesto Albero
Struttura di un ipertesto Maglia o Grafo
Principio di funzionamento del web
Principio di funzionamento del web
Principio di funzionamento del web
Principio di funzionamento del web
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:pirrone@unipa.it ftp://ftp.unina.it/pub/linux/redhat/
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).
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.
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>
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
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.
Elaborazione client-side
Elaborazione client-side
Elaborazione client-side
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.
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>]]
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.
Esempio di elaborazione server-side: webmail
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.