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 multiiiali, 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, indirizzan 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'ipert e s t o o una nuova risorsa.

UdA 4

Lo strato di applicazione

Una pagina, detta home-page, viene inviata come


risposta, all'atto del collegamento, a un indirizzo
specifico e per essere visualizzata sull'host che
ne ha fatto la richiesta necessario l'uso di un
b r o w s e r , un programma client per la visualizzazione dei documenti e per la navigazione in rete.

Browser
Significa
letteralmente "sfogliatore" e non altro che un
programma in grado di "locare" una
pagina in Internet e di interpretarne
attraverso un parser intemo le righe di
codice sorgente scritte in HTML, fornendo all'utente una linea di comando
dove poter digitare gli indirizzi IP.

Il codice sorgente delle pagine Web che viene i n terpretato scritto i n un linguaggio di "contrassegno" 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 con 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

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, identificando i l tipo di documento che viene trasmesso
(content-type) e a sua volta invia altre richieste per recuperare le informazioni collegate,
quali per esempio le immagini relative alle notizie dell'ultim'ora;
> i l browser mostra le informazioni ricevute,
che includono a loro volta collegamenti ipertestuali.

248

! X

%1 '

Web e HTTP

Lezione 3

comprende tutto quanto necessario per l'indirizzamento e la localizzazione dei file. Esso infatti 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

-~:://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 idenfcate.
L'interazione
l browser comunicano mediante protocolli standard che p e r m e t t o n o l'interazione tramite l'interjbtambio 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-informazione 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 form 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
.edu
.net
: -'t
.de
.mn
.hk
.cu
.cg
.biz

per organizzazioni a carattere commerciale


per organizzazioni di ricerca americane
per organizzazioni che forniscono servizi
di rete
Italia
Germania
Mongolia
Hong Kong
Cuba
Congo
Business

.gov
.uni
.org
.fr
,uk
.my
.tr
.ir
.eh
tv

per enti governativi americani


solo per universit americane
per societ o organizzazioni
non commerciali
Francia
Gran Bretagna
Malesia
Turchia
Iran
Svizzera
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

.Veb Client:
Browser generico

%
.

Web Server:
US (Win NT, Seven, XP)
Personal Web Server
(Windows98 e 95)
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 messaggi hanno lo stesso formato, secondo lo standard RFC822, e sono entrambi definiti dal protocollo.
II
I
>

meccanismo che sta alla base della comunicazione attraverso i l protocollo HTTP i l seguente:
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);
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 messaggio al client attraverso i l socket;
EU i l server HTTP invia quindi al TCP la richiesta d i
La c o n n e s s i o n e creata da H T T P 1 n , : d i
chiusura della connessione, che avverr solo dot
i p o n o n p e r m a n e n t e : si limita alla trapo che i l messaggio d i risposta stato riscontrato
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
n
o
n
c
h
i
e
d
e
la
chiusura
della
connesestrae e trova i riferimenti agli oggetti referenziasione 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 aprendo pi connessioni i n parallelo).
Analizziamo i tempi necessari per ricevere i l file base HTML nel caso di connessione non permanente:
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.

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 (intestazione 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

Invia documento
HTTP://www.istruzione.it

Server HTTP

Reperimento file
sul file system
Server HTTP

Interpretazione file
e visualizzazione
Server HTTP

Browser

Utente

ESEMPIO

INDEX.HTM
FIG.GIF
STYLE.CS5

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
Accept:
Accept-Language: en-us
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
User-agent:Mozilla/4.0
Host: a l i n e t . m i u r . u n i b c . i t
Connection: Keep-Alive

254

*/* metodo, file,


versione
*/* contenuto
accettato

* 1* preferenza
linguistica
* I* ultima versione nella
cache
*/* tipo di browser
*/* host
*/* connessione
permanente

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,
<html>
:.- c' il testo

01 Mar 2013 18:02:44

HTML della

pagina

GMT

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 localizzato 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 recenti 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 Request-URI. I l client non ha nessuna garanzia che l'operazione abbia esito positivo i n quanto necessario 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 server 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 resources 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.

^ $

eja

Client

256

Server d'origine

Proxy server

Server d'origine

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

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

risposta

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,
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'inrizzo 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
Chi vuole
Ichi

ANONIMA

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

server proxy possono anche essere classificati secondo i l livello d i anonimato che garantiscono:
Trasparent Proxy Server: proxy trasparenti, anonimato minimo;
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 collegato, 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 protocollo HTTP che permettono d i riconoscere u n utente.
Un cookie u n file che viene memorizzato nel computer del client dal sito web che viene visitato, contenente informazioni sulle pagine visitate dall'utente: quando
l'utente si ricollega, i l contenuto d i tale file viene mandato al server, che lo analizza e ne estrae informazion i che ha precedentemente memorizzato i n modo da
presentare le informazioni personalizzate i n base alle
esigenze del visitatore (per esempio la lingua preferita,
i dati d i login per non richiedere ripetutamente le credenziali d i accesso ad aree riservate, la personalizzazione della visita con la visualizzazione delle preferenze gi
definite dall'utente i n accessi precedenti ecc.).
In alcuni browser ogni cookie corrisponde a un piccolo
file mentre per esempio i n Firefox t u t t i i cookie sono
memorizzati i n u n singolo file.

4 C o o k i e s HTTP cookies provide the server with a mechanism


t o store and retrieve state information on
the client application's system: a cookie
is a small file of letters and numbers placed by a website o n t o a user's c o m p u t e r
when he or she accesses the website.
V.
_

|
j
|
/

Per p o t e r scrivere i cookies sul c o m p u t e r d e l l ' u t e n t e il server ha necessariamente b i s o g n o della autorizzazione d e l c l i e n t che d e v e abilitare 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
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
memorizzare i cookies d a p a r t e d i
altri host.

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 operazioni request-responce.
Supponiamo d i voler effettuare u n acquisto su u n sito
I A Packet sniffer Packet sniffer
web e d i dover quindi inviare informazioni riservate e
are tools or utilities use t o m o personali: prima d i arrivare a destinazione, i nostri da|
nitor and capture individual packets on
t i , i l numero della carta di credito e qualsiasi altra inforj the network t o troubleshoot network :
mazione ci riguardi, attraversano u n numero imprecip 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 malintenzionati.

258

Web e HTTP
Sintatticamente i l protocollo IITTPS identico al protocollo impiegato per la normale navigazione i n rete e i m piega oltre a i protocolli TCP e HTTP, u n ulteriore livello
chiamato SSL (Secure Sockets Layer) che prende i dati
in entrata e l i cripta attraverso u n algoritmo matematico che l i rende praticamente indecifrabili.
I dati transitano sulla porta 443 anzich 80.

Lo s t u d i o della sicurezza, della critt o g r a f i a e della n o r m a t i v a relativa


a t u t t i i m e t o d i p e r garantire l'integrit d e i d a t i e d e i sistemi saranno
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
di corso.

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 Wiki

I Social n e t w o r k
Podcasting

Flickr, del.icio.us:
tagging,

Gmail, Google Maps


e AJAX: arricchimento
delle esperienze
degli utenti

non tassonomia
BitTorrent:
decentralizzazione
radicale

centrali:

Emergente:
il comportamento
dell'utente non
predeterminato

Google AdSense:
customer self-service
che rende possibile
"the long tail"

Il Web come piattaforma


Voi controllate i vostri dati

^Hackability
Piccoli pezzi uniti non
rigidamente
(il Web come insieme
di componenti)

Blogs:
partecipazione,
non pubblicazione

Wikipedia:
fiducia radicale

Servizi, non pacchetti di software


Architettura di partecipazione
Scalabilit efficace dal punto di vista dei costi
Fonti remixabill e trasformazione dei dati
Il software a un livello superiore rispetto
al singolo dispositivo
Sfruttamento dell'intelligenza collettiva

I dati come nuovo


"Intel Inside"
The long tail

Page Rank, eBay


reputation, le recensioni
di Amazon: gli utenti
come collaboratori

Posizionamento strategico:
Posizionamento dell'utente

Competenze
"Un'altitudine,
non una tecnologia"

I Vodcast

Il beta perpetuo

Gioco

Arricchimento
dell'esperienza
dell'utente

II software
che migliora
con l'aumentare
degli utenti

Il diritto a remixare
"Some rights
leserved"
iducia nei vostri utenti
Possibilit
di abbinare
un indirizzo a porzioni
del contenuto

259