Gli ipertesti del World Wide Web: protocolli, tecniche di

Download Report

Transcript Gli ipertesti del World Wide Web: protocolli, tecniche di

Gli ipertesti del World Wide Web
Funzionamento e tecniche di realizzazione
a cura di Loris Tissìno
(www.tissino.it)
Internet: termini essenziali
host
ip (internet protocol)
indirizzi IP
dns (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.html
http://www.inv.org/mostra?id=51
Protocollo HTTP – richiesta

GET /percorso/doc.html HTTP/1.1
Host: ...
User-Agent: ...
Accept: ...
Accept-Language:
Referer: ...
If-modified-since: ...
...
Protocollo HTTP – risposta

HTTP/1.1 200 OK
Date: ...
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 aperti
Vantaggi:
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 animate
javascript
fogli di stile (css)
html dinamico
applets java
animazioni flash
audio / video
Elaborazione sul lato server
CGI, common gateway interface (perl, c)
ASP (active server pages)
PHP (php: hypertext preprocessor)
Elaborazione quando?
al momento della richiesta
al momento della messa in linea dei
contenuti
a intervalli regolari prestabiliti
Contenuti digitali
cd rom / dvd
sito web
Cd rom
puro contenuto (file semplici)
web cd
applicazioni (es. giochi)
cd interattivo (es. enciclopedie
multimediali)
Sito web
internet
intranet
extranet
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, attivazione
login
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 web
qualche 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 cookie
utente=paperino
password=ltdnppqqq
cookie=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”