Sei sulla pagina 1di 13

LEZIONE 3

WEB E HTTP

IN QUESTA LEZIONE IMPAREREMO...


l'architettura del Web
1 protocollo HTTP
il formato del messaggio HTTP

Il World Wide Web


(World Wide Web) significa "ragnatela intorno al mondo" ed u n insieme d i pagine multi-
iiali, documenti testuali, audio e video, collegati tra loro, entro i quali ci si pu spostare con
rse modalit. I n sostanza, l'insieme delle pagine ipermediali d i Internet, cio un ipertesto
Bultimedialc distribuito.
Lo schema che definisce i l funzionamento del WWW presentato nella figura che segue.

Client Server web

Pagine del sito


Richiesta URL
Browser web

Risposta (contenuto) V.

IPERTESTO
Un i p e r t e s t o un t e s t o la cui struttura reticolare, invece che s e m p l i c e m e n t e lineare o
gerarchica: si c o m p o n e d i n o d i ( " p a g i n e " o p a g e ) e c o l l e g a m e n t i (link).
I link s o n o collegati a particolari p a r o l e , h o t s p o t o h o t w o r c , che, se selezionate, indirizza-
n o verso un'altra p a g i n a in m o d o da p e r m e t t e r e di r a g g i u n g e r e un altro p u n t o dell'iper-
t e s t o o una nuova risorsa.
UdA 4 Lo strato di applicazione

Una pagina, detta home-page, viene inviata come


Browser Significa letteralmen-
risposta, all'atto del collegamento, a un indirizzo te "sfogliatore" e non altro che un
specifico e per essere visualizzata sull'host che programma in grado di "locare" una
ne ha fatto la richiesta necessario l'uso di un pagina in Internet e di interpretarne
b r o w s e r , un programma client per la visualiz- attraverso un parser intemo le righe di
zazione dei documenti e per la navigazione in rete. codice sorgente scritte in HTML, for-
nendo all'utente una linea di comando
Il codice sorgente delle pagine Web che viene i n - dove poter digitare gli indirizzi IP.
terpretato scritto i n un linguaggio di "contras-
segno" quale HTML, che nelle ultime versioni
anche i n grado di mandare i n esecuzione pseudoeseguibili scritti i n Java (Applet) o d i interpretare
p r o g r a m m i incapsulati internamente - detti script - , quali per esempio VBscript, Jscript o i l pi co-
n o s c i u t o JavaScript. I browser pi diffusi sono certamente Internet Explorer (a volte denominato IE
per brevit) d i Microsoft e FireFox oltre ad altri meno noti (Opera, Ghrome e Safari).

I II client f o r n i s c e a un server le richieste p e r un d e t e r m i n a t o o g g e t t o . Il server r i s p o n d e c o n i


d a t i richiesti inviandoli in f o r m a t i s t a n d a r d i n t e g r a n d o l i col c o d i c e H T M L . Q u e s t o un m o d e l -
lo di carattere g e n e r a l e , t u t t a v i a sar i m p o r t a n t e ricordare q u e s t o s c h e m a d i c o m u n i c a z i o n e
q u a n d o v e r r a n n o discussi i l i n g u a g g i d i s c r i p t i n g lato server ( e >SP). f *

L'architettura del Web


All'interno della rete Internet ciascuna risorsa identificata i n modo univoco mediante un indirizzo
URI (Universal Resource Identifier). L'URI non altro che un indirizzo univoco di una particolare
risorsa nella rete, rappresenta la risorsa che si vuole raggiungere. Per capire i l funzionamento del
Web vediamo un piccolo esempio che aiuta a comprendere cosa accade quando un utente si vuole
collegare a un certo indirizzo URI, in questo caso al sito http://www.istruzione.it.

Si scrive nell'apposita barra del browser l'indirizzo http://www.istruzione.it.

Home - Miur - Windows Internet Explorer

I L http://www.istruzione.it

File Modifica Visualizza Preferiti Strumenti l ! X %1 '

I i l browser recupera le informazioni secondo i


meccanismi previsti per le risorse identificate
con lo schema URI-IITTP;
> i l server che contiene le pagine Web del sito
www.istruzione.it risponde alla richiesta i n -
viando le informazioni che si vogliono ottenere;
I i l browser interpreta la risposta, identifican-
do i l tipo di documento che viene trasmesso
(content-type) e a sua volta invia altre richie-
ste per recuperare le informazioni collegate,
quali per esempio le immagini relative alle no-
tizie dell'ultim'ora;
> i l browser mostra le informazioni ricevute,
che includono a loro volta collegamenti iper-
testuali.

248
Web e HTTP Lezione 3

comprende tutto quanto necessario per l'indirizzamento e la localizzazione dei file. Esso infat-
ti include la localizzazione del protocollo, l'indirizzo Internet e i l nome del file, ed eventualmente la
localizzazione interna a quel particolare documento. Questo argomento verr approfondito pi avanti.

I H L (Uniform Resource Locator)


Generalmente si sente parlare d i URL (Uniform resourse locator) e non d i URI, ma la differenza tra
i due riferimenti a indirizzi Internet sta nel fatto che l'URL u n particolare tipo d i URI e u n URI
pu identificare oggetti anche non correlati ai protocolli Internet esistenti (si pensi per esempio al
caso d i about:netscape).
Ogni documento Internet individuato da u n indirizzo URL
In pratica un un
che lo identificano i n modo univoco, che formato da:
p i g e n e r a l e c h e n o n fa rife
ctocollo per la connessione ( H T T P per pagine web);
r i m e n t o a un p r e c i s o s c h e m
I nome s i m b o l i c o (o indirizzo IP) del server;
di denominazione.
I pattinarne del file sul server.

5 EMPIO 6

-~:://www.lorusso.it/Sistemi/Volume2/index.html

E anche possibile inoltre indicare la porta a cui connettersi e passare dei parametri alla risorsa
chiesta:

--;://www.lorusso.it:8083/Sistemi/Volume2/page.php?param=value

Vedremo che l'associazione tra i l nome dell'host e i l suo indirizzo IP viene effettuata da una apposita
applicazione, DNS (Domain Name System).

L architettura di funzionamento del Web pu essere espressa mediante tre termini assai importanti
ehc ne descrivono le caratteristiche: identificazione, interazione e f o r m a t o .

L'identificazione
Mediante u n indirizzo (URI o URL) le risorse presenti nella rete possono essere univocamente iden-
fcate.

L'interazione
l browser comunicano mediante protocolli standard che p e r m e t t o n o l'interazione tramite l'inter-
jbtambio di informazioni strutturate secondo una sintassi e una semantica precise. Infatti quando
. jca su u n link o ci si collega a u n indirizzo Web, si dice al browser di ricercare una risorsa
identificata da quell'indirizzo.

tonnato
Sci protocollo d i comunicazione sono previste informazioni aggiuntive, chiamate meta-informazio-
ne permettono di identificare i l tipo d i documento da trasferire o da interpretare.

Nel caso d i p a g i n e H T M L il f o r m a t o p r e v i s t o d i t i p o C o n t e n t - t y p e : t x t / h t m l : q u e s t o il for-


m a t o s t a n d a r d d e i d o c u m e n t i scritti in l i n g u a g g i o di c o n t r a s s e g n o e t u t t i i b r o w s e r s o n o in
grado di interpretare pagine secondo questo f o r m a t o .
M a g g i o r i e interessanti i n f o r m a z i o n i sul f u n z i o n a m e n t o d e g l i e d e l l e a r c h i t e t t u r e W e b si
c o s s o n o t r o v a r e all'indirizzo I n t e r n e t della societ W 3 C ( a b b r e v i a z i o n e d i w w w C o n s o r t i u m
http://www.w3.org/TR/Web arch/.

249
Lo strato di applicazione

Zoom su.
LA SINTASSI URL
La sintassi p r e v e d e che v e n g a i n d i c a t o il p r o t o c o l l o p e r p r i m o , q u i n d i le i n f o r m a z i o n i d e l d o m i -
n i o , p o i l'eventuale c o u n t r y - c o d e , q u i n d i le e v e n t u a l i d i r e c t o r y e infine il file c h e c o n t i e n e i d a t i .

protocollo usato: sottodominio"n".sottodominio"n-1 "...dominio/directory/file


Il d o m i n i o p u p o s s e d e r e anche d e i s o t t o d o m i n i , p e r e s e m p i o nell'indirizzo

http://www.mi.provincia.it

m i un s o t t o d o m i n i o d i p r o v i n c i a , o p p u r e nell'uri

http://www.mi.provincia.it/cataloghi/anni/2012/miocatalogo.htm,

c a t a l o g h i la d i r e c t o r y d e l server d i d o m i n i o c h e c o n t i e n e la d i r e c t o r y anni che a sua volta c o n -


t i e n e la d i r e c t o r y 2 0 1 2 che a sua v o l t a c o n t i e n e il f i l e , w w w invece indica il w e b server, infatti
p u essere s o s t i t u i t o c o n il n o m e d e l l a m a c c h i n a c h e lo o s p i t a , p e r e s e m p i o l'uri " h t t p : / / w w w .
l o m b a r d i a . r e g i o n e . i t " r i s p e t t o a " h t t p : / / i t a l i a . l o m b a r d i a . r e g i o n e . i t " , presenta " i t a l i a " c h e n o n
altro che la macchina che f i s i c a m e n t e ospita il w e b server.
I d o m i n i v e n g o n o a p p u n t o suddivisi g e r a r c h i c a m e n t e : p i n o m i d i m a c c h i n e f a n n o riferimento a
un d o m i n i o , p i n o m i d i d o m i n i f a n n o riferimento a un d o m i n i o di a l t o livello. Per e s e m p i o l'uri
" h t t p : / / w w w . p v . p r o v i n c i a . i t / c a t a s t o / i n d e x . h t m l " p u essere s c h e m a t i z z a t o c o m e s e g u e :

provincia

mi co

M a che c o s ' un d o m i n i o d i alto livello? Si t r a t t a d i un d o m i n i o che identifica la t i p o l o g i a e la


t o p o l o g i a d i un sito.

250
V e d i a m o una t a b e l l a che ne d e s c r i v e alcuni:

.com per organizzazioni a carattere commerciale .gov per enti governativi americani
.edu per organizzazioni di ricerca americane .uni solo per universit americane
.net per organizzazioni che forniscono servizi .org per societ o organizzazioni
di rete non commerciali
: -'t Italia .fr Francia
.de Germania ,uk Gran Bretagna
.mn Mongolia .my Malesia
.hk Hong Kong .tr Turchia
.cu Cuba .ir Iran
.cg Congo .eh Svizzera
.biz Business tv Televisioni

Da c o m e si p u v e d e r e in q u e s t a t a b e l l a , c h e riassume solo alcuni suffissi d i d o m i n i o , s o n o divisi


in c o u n t r y - c o d e e in s o c i e t y - c o d e , i p r i m i nazionali e i s e c o n d i invece legati a e n t i , a z i e n d e o
associazioni. Tuttavia u n o d e i p r o b l e m i che u l t i m a m e n t e v e n u t o alla ribalta p r o p r i o l e g a t o a
c o m e q u e s t i suffissi n o n siano pi sufficienti e vi sia la necessit d i n u o v e a d o z i o n i .
A n c h e p e r gli indirizzi d i posta e l e t t r o n i c a d e v e essere i n d i c a t o un URL, che c o m p o s t o dai
seguenti c o m p o n e n t i :

mailto:username@dominio
Per e s e m p i o nell'uri " m a i l t o : z i o . p i n o @ c o . p r o v i n c i a . i t " il d o m i n i o c o m p o s t o da un host p r i n c i -
pale (provincia.it) e da un s o t t o h o s t d e n o m i n a t o c o .
1
I i

Il protocollo Hyper-Text Transfer Protocol (HTTP)


D World Wide Web per i l trasferimento d i dati ipertestuali si basa sul protocollo applicativo Hyper
Tc.xtTransfer Protocol (HTTP) che, come tutti i servizi d i rete utilizza l'architettura client/server.

Il protocollo http, definito i n RFC 1945 (versione 1.0) ed RFC 2616 (versione 1.1), basato sullo
scambio di messaggi tra client e server. Come si vede nella figura, abbiamo a sinistra i l browser
(client) e a destra i l server (rappresentato i n questo caso da u n US - Internet Information server -
che non altro che u n server Web utilizzato i n tutti i sistemi operativi della Microsoft):
Response

0JP Home page PAPEMNA

%
. H

Web Server:
* m A
US (Win NT, Seven, XP)
Personal Web Server
.Veb Client: (Windows98 e 95)
Browser generico Apache (Linux, e tutti)

Request http://website

251
UdA4 Lo strato di applicazione

La comunicazione tra client e server avviene secondo il protocollo TCP/IP usando gli indirizzi IP dei
computer che ospitano client e server.

I messaggi con i l protocollo http possono essere separati nelle due categorie request e response, cio
richiesta e risposta, e sono u n insieme d i righe di caratteri ASCII terminate da CR+LF. I due mes-
saggi hanno lo stesso formato, secondo lo standard RFC822, e sono entrambi definiti dal protocollo.

II meccanismo che sta alla base della comunicazione attraverso i l protocollo HTTP i l seguente:
I si apre una connessione TCP tra client e server;
> i l browser richiede una risorsa al server http (web server);
i l server risponde (se possibile, fornendo la risorsa richiesta);
I si chiude la connessione (da I I T T P 1 . 1 non si chiude automaticamente ogni volta la sessione, ma
rimane aperta per dare maggiori possibilit di trasmissione dati).

Vediamo adesso come si apre la connessione tra client e web server i n una tipica "conversazione"
tramite protocollo http, per esempio per la seguente richiesta:

http://alinet.miur.unibc.it/sistemi/itisVol2/RetiLaB/index.html

D I I browser del client analizza l'URL e ne estrae i l dominio;


0 i l client HTTP inizia una connessione TCP verso il web server alinet.miur.unibc.it sulla cui porta
80 i l server HTTP i n ascolto;
EU i l client HTTP invia una richiesta (GET) al server attraverso i l socket associata alla connessione
TCP stabilita al punto 1 ; nella richiesta specifica i l file /sistemi/itisVol2/RetiLaB/index.html;
i l server riceve la richiesta, incapsula l'oggetto specificato nella risposta HTTP e invia i l messag-
gio al client attraverso i l socket;
EU i l server HTTP invia quindi al TCP la richiesta d i
chiusura della connessione, che avverr solo do- La c o n n e s s i o n e creata da H T T P 1 n , : d i

po che i l messaggio d i risposta stato riscontrato t i p o n o n p e r m a n e n t e : si limita alla tra-


smissione di una singola p a g i n a H T M L .
dal client;
La m o d a l i t d i d e f a u l t p e r
la connessione TCP si conclude; i l messaggio
invece di : il server
indica che l'oggetto u n file HTML; i l client lo
estrae e trova i riferimenti agli oggetti referenzia- n o n c h i e d e la chiusura della connes-
sione TCP se n o n d o p o che s c a d u t o
t i (immagini, fogli d i stile, oggetti Javascript...);
un t i m e - o u t d u r a n t e il q u a l e la c o n n e s -
D i passi precedenti vengono ripetuti per ciascuno
sione n o n utilizzata.
degli oggetti referenziati (eventualmente apren-
do pi connessioni i n parallelo).

Analizziamo i tempi necessari per ricevere i l file base HTML nel caso di connessione non perma-
nente:
1 RTT (Round Trip Time) per l'instaurazione della connessione TCP;
0 1 RTT per l'invio della richiesta e l'arrivo della risposta;
tempo d i trasmissione del file HTML al client.
Per messaggi lunghi abbiamo due possibili situazioni come quelle riportate nella figura seguente:

Per ricevere u n oggetto (tranne i l primo) nel caso d i connessione permanente occorre:
1 RTT;
0 tempo di trasmissione del file HTML.

I Si p u osservare c o m e il s e c o n d o m e s s a g g i o n o n a b b i a b i s o g n o d e l l a fase d i istaurazione


d e l l a c o n n e s s i o n e e q u i n d i e v i d e n t e il r i s p a r m i o d i t e m p o d e l l '

Il formato del messaggio HTTP


D formato dei messaggi HTTP formato da una start-line (riga di richiesta/risposta), una HEADER (in-
testazione HTTP) e da un BODY (corpo http, che pu anche essere omesso). Vediamoli pi i n dettaglio.

La prima riga della richiesta contiene 3 elementi, u n comando chiamato metodo ( G E T e POST sono
i pi usati, poi ne vedremo le differenze, ma esistono anche H E A D , PUT, DELETE, T R A C E , C O N -
NECT, O P T I O N S , per maggiori chiarimenti guardare i l sito www.rfc.net), i l secondo i l percorso
del server della richiesta del client e poi la versione del protocollo http usata (di solito 1.1).
Nella intestazione (HEADER) compaiono invece i dati che riguardano i l tipo d i documento che i l
gfeent riceve dal server, i l tipo di browser che ha richiesto la pagina, la data e alcune informazioni
generali sulla configurazione del sistema richiedente. I l corpo (BODY) del messaggio di richiesta
da parte del client, pu essere omesso, verr usato invece dal server per rispondere con la pagina

253
Lo strato di applicazione

HTML vera e propria. Conterr i dati di u n eventuale forni inviato al server SOLO se stato usato i l
metodo POST. Nella riga risposta del server invece compaiono solo 2 informazioni: i l numero delle
versioni dell'HTTP e un codice di risposta tra i seguenti:

Classe Descrizione
100-199 Risposta in fase di elaborazione
200-299 Successo
300-399 La richiesta non stata evasa in quanto le informazioni richieste sono state spostate
400-499 La richiesta incompleta, errata o impossibile ( tipico l'errore 404: server non trovato)
500-599 Errore nel server, con richiesta per valida

Nell'intestazione della r i s p o s t a c o m p a i o n o 3 dati: i l primo d i tipo generale (per esempio data e ora
di risposta), i l secondo l'entit (per esempio data e ora d i ultima modifica dei dati richiesti) e i l
terzo la richiesta (informazioni sul server e su come gestisce la risposta, se i dati sono text o h t m l
ecc.). I l corpo della risposta contiene la pagina HTML vera e propria.

Vediamo lo schema logico d i quanto appena detto:

Utente

Browser
HTTP request
I Server HTTP
Reperimento file
sul file system
Invia documento
HTTP://www.istruzione.it
Server HTTP

Interpretazione file
e visualizzazione

Browser Server HTTP

INDEX.HTM
Utente FIG.GIF
STYLE.CS5

ESEMPIO 7
Vediamo adesso tre esempi d i richiesta/risposta.

Q Esempio di richiesta.

GET / s i s t e m i / i t i s V o l 2 / R e t i L a B / i n d e x . h t m l HTTP/1.1 */* metodo, file, versione


Accept: */* contenuto accettato
Accept-Language: en-us * 1* preferenza linguistica
I f - H o d i f i e d - S i n c e : Wed, 16 J a n 2012 12:37:40 GMT * I* ultima versione nella cache
User-agent:Mozilla/4.0 */* tipo di browser
Host: a l i n e t . m i u r . u n i b c . i t */* host
Connection: Keep-Alive */* connessione permanente

254
8 Esempio d i risposta positiva.

ITP/1.1 200 OK
3 a t e : Wed, 22 Mar 2013 17:37:44 GMT
Content-Length: 12692
Content-Type: t e x t / h t m l
S e r v e r : Apache/2.0.40 (Red Hat L i n u x )
Last-Modified: Mon, 01 Mar 2013 18:02:44 GMT
<html>

:.- c' il testo HTML della pagina richiesta (12692 byte)

</html>

S Esempio d i risposta negativa ( i l file richiesto non esiste).

HTP/1.1 404 Not Found


Date: Wed, 02 Mar 2013 17:38:37 GMT
Content-Length: 1067
Content-Type: t e x t / h t m l
S e r v e r : Apache/2.0.40 (Red Hat L i n u x )
<html>

Object not found

I r r o r 404

</html>

Definizioni dei metodi


HTTP mette a disposizione del client un insieme di metodi per inviare le richieste al server: questi
.etodi sono a tutti gli effetti dei comandi che i l client invia al server. Vediamoli i n sintesi.

OPTION
I metodo OPTION rappresenta una richiesta d i informazioni inerenti alle opzioni d i comunicazione
disponibili sul canale definito dalla Request-URI.

GET
II metodo GET richiede una risorsa (informazioni, file, documenti, pagine HTML) al server localiz-
zato con una Request-URI.

HEAD
Il metodo HEAD identico al GET eccetto per i l fatto che i l server non deve restituire i l corpo del
messaggio, ma solamente l'header. I l metodo viene usato spesso per testare la accessibilit e le re-
centi modifiche d i links ipertestuali.

POST
Con i l metodo POST i l client pu spedire al server informazioni organizzate con una serie di coppie
nome=valore che corrispondono all'input del programma indicato nella request-URI.
PIJT
Il metodo PUT serve per inviare file al server (upload d i file da parte del client): se i l file esiste i n
corrispondenza all'i RI specificato, questo verr considerato come u n aggiornamento della versione
preesistente.
DELETE
Il metodo DELETE richiede che i l server ricevente cancelli i l file all'indirizzo specificato dal Re-
quest-URI. I l client non ha nessuna garanzia che l'operazione abbia esito positivo i n quanto ne-
cessario che esso possieda i d i r i t t i per eseguire questa operazione.

TRACE
Il m e t o d o TRACE richiama u n loopback remoto a livello dell'applicazione del messaggio richiesto: si
t r a t t a di u n "ping" che verifica quali dati i l server Web riceve dal client.
CONNECT
Questo metodo viene usato per instaurare una semplice connessione con u n proxy server.

Proxy server
I < proxy server sono dei software che i n un'architettura client-server si frappongono tra i l ser-
ver e i l client con funzione d i ponti nella rete: al proxy viene delegato i l compito d i scaricare le
informazioni e d i memorizzarle su una memoria d i massa i n modo da poter essere restituite i l pi
rapidamente possibile durante successive richieste identiche.

4 Proxy server Da W i k i p e d i a : "In c o m p u t e r networks, a proxy server is a server (a c o m p u t e r


system or an application) that acts as an intermediary for requests from clients seeking re-
sources from other servers. A client connects t o the proxy server, requesting some service, such as a file,
connection, w e b page, or other resource available from a different server. The proxy server evaluates
the request as a way t o simplify and control their complexity."

I l proxy ha i n genere una connessione i n banda larga con la rete, quindi molto pi veloce dei singoli
host, e svolge la funzione d i cache (Web Gaching), cio memorizza le pagine usate pi recentemente
e frequentemente dagli utenti e quando l'utente le richiede, vengono inviate dal proxy e non dal sito
da cui provengono: quindi l'obiettivo dell'utilizzo dei proxy server quello di migliorare la velocit di
risposta della rete cercando di soddisfare le richieste del client senza coinvolgere i l server originale.

I l client m a n d a tutti gli HTTP request al web cache:


I se l'oggetto richiesto nel web cache, i l web cache spedisce l'oggetto;
altrimenti il web cache richiede l'oggetto dal server d'origine e successivamente lo spedisce al client.

^ $ Server d'origine

eja Proxy server

Client Server d'origine

256
Web e HTTP

:amo una sequenza completa d i funzionamento d i un proxy come descritto nell'RFG 2616:
B i l client (browser) richiede una risorsa (URL);
B il proxy intercetta la richiesta;
B i l proxy controlla la propria memoria cache per vedere se pu rispondere al client direttamente
oppure se deve richiedere la risorsa (URL) al server finale;
B i l server finale risponde al proxy;
il proxy aggiorna la propria memoria cache con la risposta del server;
il proxy crea u n nuovo pacchetto e invia la risposta al client.

a figura seguente mostrata la logica del funzionamento d i u n proxy HTTP.

Cache Storage

I C o n il W e b C a c h i n g , se il w e b cache " v i c i n o " al client (es. nella stessa rete), i t e m p i di


sono inferiori; se i server s o n o distanti si o t t i e n e una d i m i n u z i o n e del traffico ( s a p p i a m o che i
canali esterni alla rete d e l ISP locale/istituzionale s o n o spesso colli di b o t t i g l i a ) .

toltre i proxy permettono l'accesso a una rete a pi macchine e garantiscono l'anonimato nella
ivigazione sul web i n quanto nascondono l'indirizzo IP del client che ha richiesto una pagina,
risposta

uando u n host si collega a Internet, i l provider gli assegna u n indirizzo IP (es. 82.210.62.18) al
lale vengono associate le generalit del client che naviga con una sorta d i "targa" grazie alla quale
rintracciabile per ogni evenienza e a ogni visita d i u n sito Web: i l server che lo ospita legger l'in-
rizzo IP del computer e lo registrer nel suo database.
ndo tramite u n proxy possibile navigare anonimamente celando l'indirizzo IP: i siti che
rngono visitati continueranno a ricevere informazioni sull'indirizzo, ma non quelle del client bens
ielle del server proxy (anche i cookies finiranno sul proxy e non sul computer).

Zoom su...
I NAVIGAZIONE
NA ANONIMA
Ichi
Chi vuole n a v i g a r e sul w e b s e r v e n d o s i d i un p r o x y p e r r i m a n e r e a n o n i m o e n o n p o s s i e d e un
w o p r i o p r o x y server p u utilizzare d e i p r o x y server accessibili sul w e b : alcuni s o n o g r a t u i t i , altri
r

s o a g a m e n t o , e si d i f f e r e n z i a n o p e r servizi offerti e v e l o c i t nella n a v i g a z i o n e .


E; s:ono m o l t i siti che p u b b l i c a n o liste d i p r o x y server, e c c o n e alcuni:
N o T r a c e : d o p o avere c o m p i l a t o il c a m p o c a p t c h a p o s s i b i l e a c c e d e r e a una lista d e i p r o x y
accurata e ricca di d e t t a g l i che c o m p r e n d e p i d i 2 8 0 0 0 server;
P r o s p e c t o r : e s p o n e una lista d i p r o x y HTTP g r a t u i t i ;
I SamAir: offre u n ' a m p i s s i m a lista d i p r o x y H T T P , c o n i n f o r m a z i o n i sui servizi o f f e r t i .

257
I server proxy possono anche essere classificati secondo i l livello d i anonimato che garantiscono:
Trasparent Proxy Server: proxy trasparenti, anonimato minimo;
I Anonymous Proxy Server: proxy meno veloci, ma con migliore livello d i anonimato;
Elite Proxy Server: proxy con u n elevato livello d i anonimato.

Sono attualmente presenti oltre 40.000 Proxy Server.

I cookies
Il protocollo HTTP non permette che i l server contattato "riconosca" u n utente che si gi colle-
gato, dato che ogni pagina inviata richiede una connessione TCP indipendente; inoltre dato che i l
p r o t o c o l l o H T T P state-less e quindi le richieste dei client non lasciano alcuno stato nel server,
necessario memorizzare le informazioni della sessione sull'applicazione Web direttamente nel Web
Browser del visitatore.

I < cookies sono una parte fondamentale del proto-


4 C o o k i e s HTTP cookies provi-
collo HTTP che permettono d i riconoscere u n utente.
de the server with a mechanism
t o store and retrieve state information on |
Un cookie u n file che viene memorizzato nel compu- the client application's system: a cookie j
ter del client dal sito web che viene visitato, contenen- is a small file of letters and numbers pla-
te informazioni sulle pagine visitate dall'utente: quando ced by a website o n t o a user's c o m p u t e r |
l'utente si ricollega, i l contenuto d i tale file viene man- when he or she accesses the website.
dato al server, che lo analizza e ne estrae informazio- V. _ /
n i che ha precedentemente memorizzato i n modo da
presentare le informazioni personalizzate i n base alle
Per p o t e r scrivere i cookies sul c o m -
esigenze del visitatore (per esempio la lingua preferita,
p u t e r d e l l ' u t e n t e il server ha neces-
i dati d i login per non richiedere ripetutamente le cre-
sariamente b i s o g n o della autoriz-
denziali d i accesso ad aree riservate, la personalizzazio-
zazione d e l c l i e n t che d e v e abilita-
ne della visita con la visualizzazione delle preferenze gi
re tra le o p z i o n i d i c o n f i g u r a z i o n e
definite dall'utente i n accessi precedenti ecc.).
d e l suo b r o w s e r e di p r o t e z i o n e
d e l suo c o m p u t e r la possibilit d i
In alcuni browser ogni cookie corrisponde a un piccolo memorizzare i cookies d a p a r t e d i
file mentre per esempio i n Firefox t u t t i i cookie sono altri host.
memorizzati i n u n singolo file.

HTTPS: Secure HyperText Transfer Protocol (cenni)


Il normale traffico effettuato attraverso i l browser col protocollo HTTP non pone i n relazione i dati
tra le sessioni precedenti e le successive e quindi rende di fatto "indipendente" ogni coppia d i ope-
razioni request-responce.
Supponiamo d i voler effettuare u n acquisto su u n sito
web e d i dover quindi inviare informazioni riservate e I A Packet sniffer Packet sniffer
personali: prima d i arrivare a destinazione, i nostri da- are tools or utilities use t o m o -
t i , i l numero della carta di credito e qualsiasi altra infor- | nitor and capture individual packets on
j the network t o troubleshoot network :
mazione ci riguardi, attraversano u n numero impreci-
p r o b l e m s or t o find out what an attacker :

sato d i nodi e sono visibili chiaramente con l'utilizzo di


I m i g h t see.
un semplice programma di 4 packet sniffer . J

La soluzione d i questo problema stata realizzata con la definizione del protocollo HTTPS descritto
nella RFC 2965, che incapsula HTTP i n una connessione cifrata con i l Web Server d i destinazione
in modo da rendere pi complesso, o per lo meno pi macchinoso, u n attacco da parte d i malinten-
zionati.

258
Web e HTTP

Sintatticamente i l protocollo IITTPS identico al proto-


Lo s t u d i o della sicurezza, della crit-
collo impiegato per la normale navigazione i n rete e i m -
t o g r a f i a e della n o r m a t i v a relativa
piega oltre a i protocolli TCP e HTTP, u n ulteriore livello
a t u t t i i m e t o d i p e r garantire l'inte-
chiamato SSL (Secure Sockets Layer) che prende i dati
grit d e i d a t i e d e i sistemi saranno
in entrata e l i cripta attraverso u n algoritmo matemati-
o g g e t t o di s t u d i o del q u i n t o a n n o
co che l i rende praticamente indecifrabili.
di corso.
I dati transitano sulla porta 443 anzich 80.

Zoom su...
W E B 2.0
Il t e r m i n e W e b 2.0 n o n si riferisce alla n u o v a v e r s i o n e d i un s o f t w a r e bens a l l ' e v o l u z i o n e sociale
che ha visto p r o t a g o n i s t a il m o n d o d i I n t e r n e t n e g l i u l t i m i a n n i : t r a m i t e il W e b 2.0 I n t e r n e t si
c o n f i g u r a s e m p r e p i c o m e "Social N e t w o r k " d o v e la c o l l a b o r a z i o n e assume il r u o l o di f a t t o -
re chiave p e r l'innovazione e lo s v i l u p p o . L'uso d e l l i n g u a g g i o X M L in sostituzione d e l l ' H T M L
r e n d e f a c i l m e n t e fruibili e r e i n t e r p r e t a b i l i le i n f o r m a z i o n i p r o v e n i e n t i da a p p l i c a z i o n i d i f f e r e n t i .
L'idea p r i n c i p a l e su cui si basa la nuova filosofia la possibilit d i trasferire qualsiasi a p p l i c a z i o -
ne c o m u n e m e n t e utilizzata dal PC al W e b . D i e t r o q u e s t e e v o l u z i o n i t r o v i a m o t e c n o l o g i e q u a l i :
W e b Service XML I Ajax (Asynchronous JavaScript and XML)
I API I RSS

Le a p p l i c a z i o n i pi diffuse d e l W e b 2.0 s o n o :
I Blog I Social n e t w o r k I Vodcast
I Wiki Podcasting

Flickr, del.icio.us: Gmail, Google Maps Page Rank, eBay Google AdSense: Blogs:
tagging, e AJAX: arricchimento reputation, le recensioni customer self-service partecipazione,
non tassonomia delle esperienze di Amazon: gli utenti che rende possibile non pubblicazione
degli utenti come collaboratori "the long tail"

BitTorrent:
decentralizzazione Posizionamento strategico: Il Web come piattaforma
I A Wikipedia:
fiducia radicale
radicale Posizionamento dell'utente Voi controllate i vostri dati

Servizi, non pacchetti di software


Architettura di partecipazione
Scalabilit efficace dal punto di vista dei costi
Competenze
Fonti remixabill e trasformazione dei dati
centrali:
"Un'altitudine, Il software a un livello superiore rispetto Il diritto a remixare
non una tecnologia" al singolo dispositivo "Some rights

I dati come nuovo Sfruttamento dell'intelligenza collettiva leserved"


"Intel Inside"
The long tail ^Hackability Il beta perpetuo Gioco iducia nei vostri utenti

Emergente: Piccoli pezzi uniti non Arricchimento II software Possibilit


il comportamento rigidamente dell'esperienza che migliora di abbinare
dell'utente non (il Web come insieme dell'utente con l'aumentare un indirizzo a porzioni
predeterminato di componenti) degli utenti del contenuto

259