Gli ipertesti del World Wide WebFunzionamento e tecniche di realizzazione
a cura di Loris Tissìno(www.tissino.it)
Internet: termini essenziali
hostip (internet protocol)indirizzi IPdns (domain name system)dominio
World Wide Web
“ragnatela mondiale”riferimento ai collegamenti
ipertestuali tra i documenti (logici) e non a quelli fisici tra i calcolatori
basato su protocolli (HTTP) e linguaggi (HTML) standard
Modello client-server
l'applicazione client (il browser) invia una richiesta
l'applicazione server invia una risposta
URL
uniform resource locator,localizzatore uniforme di risorse
esempi:http://www.inv.org/http://www.inv.org/percorso/doc.htmlhttp://www.inv.org/mostra?id=51
Protocollo HTTP – richiesta
GET /percorso/doc.html HTTP/1.1Host: ...User-Agent: ...Accept: ...Accept-Language:Referer: ...If-modified-since: ......
Protocollo HTTP – risposta
HTTP/1.1 200 OKDate: ...Server: ...Content-Type: ......
Linguaggio HTML
HTML, hyper-text markup language,linguaggio di marcatura degli ipertesti
file di testo “puro”permette collegamenti ipertestuali
locali o remoti
Esempio di codice HTML
<HTML><HEAD><TITLE>Pagina web di esempio</TITLE></HEAD><BODY><P>Pagina di esempio a cura di<A HREF=”http://www.tissino.it”>Loris Tissino</a>.</P></BODY></HTML>
Standard aperti
HTTP e HTML sono standard apertiVantaggi:
sviluppo di diverse applicazioni client e server, editors, tecnologie
supporto di tutte le piattaforme nessun vincolo con un fornitore
specifico
Staticità e dinamicità
Si può considerare “dinamico”: ciò che si muove (lampeggia, scorre...) ciò che si modifica (è diverso, si
aggiorna...)Si può considerare “statico”:
ciò che sul server è già pronto per essere inviato al client
ciò che giunto al client appare immobile
Staticità e dinamicità
Pagine web dinamiche:elaborazione sul lato client
Pagine web generate dinamicamente:elaborazione sul lato server
Dinamicità sul lato client
immagini animatejavascriptfogli di stile (css)html dinamicoapplets javaanimazioni flashaudio / video
Elaborazione sul lato server
CGI, common gateway interface (perl, c)
ASP (active server pages)PHP (php: hypertext preprocessor)
Elaborazione quando?
al momento della richiestaal momento della messa in linea dei
contenutia intervalli regolari prestabiliti
Contenuti digitali
cd rom / dvdsito web
Cd rom
puro contenuto (file semplici)web cdapplicazioni (es. giochi)cd interattivo (es. enciclopedie
multimediali)
Sito web
internetintranetextranet
Applicazioni web
applicazioni che si basano sull'interazione via web con l'utente, che non si limita a consultare (leggere, visualizzare) i documenti
prevedono sessioni di lavoro di utenti riconosciuti
Sessione di lavoro
registrazione utente (solo una volta) dati utente, conferma via email,
attivazionelogin
inizio della sessione, a volte è previsto un timeout
logout fine della sessione
Cookies
lett. “biscotti”, piccole sequenze di caratteri per il mantenimento delle informazioni relative alla sessione
scambiate tra browser e server webqualche pericolo per la privacy...
Cookies – un esempio (¼)
il browser chiede una pagina al server
il server risponde:eccoti la pagina, ti prego di memorizzare il cookie di nome “pinco” con valore “abcd01234”
la pagina contiene un modulo (con i campi “nome utente” e “password”
Cookies – un esempio (2/4)
l'utente compila il modulo della pagina ed il browser invia i dati insieme al cookieutente=paperinopassword=ltdnppqqqcookie=abcd01234
il server riconosce l'utente, e memorizza che al cookie “abcd01234” corrisponde l'utente autenticato “paperino”
Cookies – un esempio (¾)
per le operazioni successive, il browser invia solo la richiesta (non più nome utente e password) accompagnata dal cookie:cookie=abcd01234
il server, in base al cookie, sa che l'utente è “paperino”
Cookies – un esempio (4/4)
alla chiusura della sessione, il browser richiama una pagina appositamente predisposta, sempre passando il cookie:cookie=abcd01234
il server memorizza che il cookie indicato non è più associato all'utente “paperino”