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”