Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
WEB E HTTP
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
I L http://www.istruzione.it
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.
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.
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 .
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,
provincia
mi co
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
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 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
%
. 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
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.
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.
Utente
Browser
HTTP request
I Server HTTP
Reperimento file
sul file system
Invia documento
HTTP://www.istruzione.it
Server HTTP
Interpretazione file
e visualizzazione
INDEX.HTM
Utente FIG.GIF
STYLE.CS5
ESEMPIO 7
Vediamo adesso tre esempi d i richiesta/risposta.
Q Esempio di richiesta.
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>
</html>
I r r o r 404
</html>
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.
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.
^ $ 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.
Cache Storage
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
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.
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.
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
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
259