Telematica II

Transcript

Telematica II
Proxy Server
Telematica II
Proxy Server
11. Proxy Server – AJAX – APACHE – Protocollo FTP
Corso di Laurea in Ingegneria Informatica
A.A. 2009-2010
2° Semestre
Prof. Giovanni Pascoschi
2
Proxy server
Proxy server
‰ un proxy server si pone come intermediario tra client e server e
stabilisce se e come rispondere al client Æ funziona come un
meccanismo di cache il cui obiettivo è ridurre l’overhead della rete
‰ esistono due tipi di proxy server
origin
server1
client2
‰ principio di località temporale
Telematica II – A.A. 2009-2010
¾ risposte a richieste multiple agli stessi URL possono essere
salvate in una locazione intermedia per una maggiore efficienza
nella gestione delle risposte
¾ di norma il proxy risiede sulla stessa LAN del client
¾ Vantaggioso per bassi valori di cache miss (non presenza del
contenuto nella cache del proxy)
‰ proxy di filtro (finalizzato alla sicurezza)
¾ esigenze di sicurezza o di controllo degli abusi di una rete
possono richiedere l'esecuzione della richiesta solo in casi
specifici
¾ in caso contrario viene fornito un messaggio di mancata
autorizzazione
¾ uso di una black list (allowed/not allowed domains)
origin
server2
a cura di Pascoschi Giovanni
a cura di Pascoschi Giovanni
‰ proxy di cache (finalizzata alla riduzione delle latenze e dell’overhead)
Proxy
HT
t
TP
ues
req server
req
H
u
P
est
T
client1 TTP
nse
HT
spo
res
e
r
pon
TP
se
HT
st
internet
e
u
r eq
nse
TP
po
T
s
H
e
r
TP
HT
3
Telematica II – A.A. 2009-2010
4
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Criteri di caching #1
Criteri di caching #2
‰ si tratta di una tecnica per la riduzione delle latenze e dell’overhead di rete
‰ HTTP 1.0 si basava su tre header per il cache management:
¾ Expires: il proxy server specifica al client la data di scadenza di una
risorsa tramite una label (p.e. utilizzando un Time to Live)
¾ If-Modified-Since: il client richiede la risorsa solo se modificata dopo
una certa data (p.e. la data di Expires) . Richiede una gestione del
tempo comune tra client / proxy server e server origin (orologi di
sistema sincronizzati)
¾ Pragma: no-cache: Fornita dal server, istruisce il client di non fare
cache della risorsa in ogni caso
‰ HTTP 1.1 introduce due ulteriori tipi di cache control:
¾ Server-specified expiration (politica deterministica delle scadenza
gestite dal proxy server tramite parametri di scadenza per ciascuna
risorsa)
¾ Heuristic expiration (politica euristica/adattiva da parte del server per
quanto riguarda la scadenza non prefissata/esplicitata di alcune
risorse nella cache Æ si fa in maniera cumulativa per le risorse senza
scdenza prefissata Æ piu’ semplice da gestire)
‰ il caching può essere client-side, server-side (cache origin server) o
intermedia (mediante un proxy)
‰ la cache server-side riduce i tempi di computazione di una risposta, ma
non ha effetti sul carico di rete
‰ le altre due (client-side e proxy-side) riducono il carico di rete
5
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
6
Criteri di caching #3
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Ajax
‰ validazione della risorsa in cache
¾ anche dopo la scadenza (dopo l’expires), nella maggior parte dei
casi, una risorsa non viene modificata sull’origin server e quindi
la risorsa in cache continua a risultare valida
¾ un modo semplice per fare validazione da parte di un cache
server è
Ajax - panoramica
ƒ usare HEAD: viene inoltrata una richiesta e verificata la data
di ultima modifica (necessita di una richiesta preliminare
supplementare)
ƒ fare una richiesta condizionale: se la risorsa è stata
modificata, viene regolarmente fornita la nuova risorsa,
altrimenti viene fornita la risposta 304 (not modified) senza
body della risposta. Questo riduce il numero di richieste
7
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
8
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
AJAX - panoramica
AJAX - esempi
AJAX Æ Asynchronous Javascript and XML
‰ AJAX non è una tecnologia Æ e’ una tecnica di sviluppo web per creare
applicazioni interattive
‰ L'intento di tale tecnica è quello di ottenere pagine web che
rispondono in maniera più rapida, grazie allo scambio in background di
piccoli pacchetti di dati con il server
‰ L’intera pagina web non deve essere ricaricata ogni volta che l'utente
effettua una modifica (con risparmio di codice html per ciascuna
pagina web)
‰ Questa tecnica riesce, quindi, a migliorare l'interattività, la velocità e
l'usabilità di una pagina web
‰ gli utenti non si rendono conto che c’è del codice in comunicazione
con il server: il web-site si comporta come se stesse rispondendo
instantaneamente (usabilità "desktop-like")
9
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
10
Modello classico applicazioni web #1
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Modello classico applicazioni web #2
‰ Il modello classico di un’applicazione
web funziona in questo modo:
¾ La maggior parte delle azioni
dell’utente
(click,
inserimento
testo, spostamenti del mouse, ecc)
generano l’invio una HTTP request
indietro al server
‰ questo approccio puo’ creare dei problemi agli utenti:
¾ ad ogni richiesta l’utente deve attendere
¾ l’utente vede l’applicazione inviare direttamente al server dei dati
¾ Il server effettua delle elaborazioni
(p.e. recupero di dati su DBMS,
interfacciamento
con
sistemi
legacy, ecc) e ritorna una pagina
HTML al client
11
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
12
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Modello Ajax #1
Modello Ajax #2
‰ un’applicazione Ajax elimina la natura
“intermittente” (start – stop – start – stop)
dell’interazione sul web
¾ viene utilizzato un intermediario (motore
Ajax), fra utente e il server
¾ invece di caricare una pagina web,
all’inizio della sessione, il browser carica
l’Ajax engine, scritto in JavaScript and
usualmente associato ad un frame
nascosto
¾ l’Ajax engine permette l’interazione
dell’utente con l’applicazione un maniera
asincrona,
indipendentemente
dalla
comunicazione con il server
13
Telematica II – A.A. 2009-2010
Every user action that normally would generate an HTTP request takes the form of a JavaScript call to the Ajax engine
a cura di Pascoschi Giovanni
14
Mix di tecnologie in Ajax
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
XMLHttpRequest
‰ Ajax incorpora diverse tecnologie (XHTML, CSS, DOM, XML, XSLT,
Javascript , SOAP)
¾ l’oggetto XMLHttpRequest permette al programma lato client in
Javascript di fare richieste HTTP (GET & POST) al server senza
ricaricare tutte le pagine e senza bloccare l’utente Æ richiede solo una
parte dei dati presenti per una determinata risorsa
‰ quella che interessa maggiormente questo corso e che è il punto
focale di Ajax è
¾ questo oggetto JavaScript fu introdotto originariamente in Internet
Explorer 5
XMLHttpRequest
¾ si puo’ usare l’oggetto XMLHttpRequest non solo per richiedere dati
XML
15
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
16
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Vantaggi Ajax
Svantaggi Ajax
‰ lato Client
¾ puo’ produrre un workflow verso l’utente senza interruzioni
¾ risparmia banda inviando solo le nuove informazioni (delta info)
¾ da’ la possibilità di gestire nuovi tipi di interfacce utente non
possibili nel modello tradizionale
‰ lato Client
¾ poca compatibilità con browser datati e molti dispositivi mobili
¾ capacità limitate rispetto alla gestione multimediale, interazione
con webcam e stampanti e grafica real-time
¾ prima attesa lunga per il caricamento di siti Ajax
¾ problemi con i pulsanti back/forward e i bookmarks
‰ lato sviluppatore
¾ fornisce una via di mezzo tra la progettazione web sofisticata (Java
applets e Flash) e quella semplice tradizionale HTML
¾ non richiede software di terze parti (Java o Flash)
¾ si incapsula nel normale codice di sviluppo dei siti web
17
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
‰ lato sviluppatore
¾ tecnica utilizzata ed abusata da “cattivi” programmatori
¾ possibilità di avere browser con JavaScript disabilitato
¾ siti con troppo codice puo’ rallentare il browser
18
Web Server Apache - panoramica
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Web server – panoramica su Apache
‰ Il più diffuso web server open-source è Apache, giunto alla
versione 2.2.3, e disponibile per vari S.O. tra cui Windows e
Linux
‰ Windows (in alcune versioni) possiede al suo interno un web
server (Internet Information Services o più brevemente IIS), ma
è preferibile (specialmente nello sviluppo di applicazioni PHP)
l'utilizzo del server Apache.
Web Server Apache - panoramica
‰ Apache è considerato in alcune situazioni un web server
superiore ad IIS
‰ inoltre è anche il web server che più comunemente viene
messo a disposizione dai fornitori di servizi di hosting
19
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
20
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Installazione
Configurazione di Apache
‰ Per configurare il server si utilizza il file di testo httpd.conf,
che su macchine Linux si trova di solito in /etc/httpd/
http://httpd.apache.org/download.cgi
‰ Il file di configurazione è formato da una serie di direttive
‰ Operativamente, è composto da un demone, in ambiente
UNIX, o da un servizio, in ambiente Windows, che si basano
sulle impostazioni contenute nel file di configurazione
httpd.conf
‰ Gestisce varie caratteristiche di sicurezza e permette di
ospitare diverse estensioni per pagine attive (o dinamiche),
come PHP o Jakarta/Tomcat
21
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
22
Direttive del server Apache #1
a cura di Pascoschi Giovanni
Direttive del server Apache #2
‰ con valori di default:
– Listen 80 Æ indica la porta TCP sulla quale il server è in
ascolto
– User Æ nome dell’utente con il quale verrà eseguito il
server e determina i file a cui ha accesso Apache
– Group Æ gruppo di appartenenza dell’utente con il
quale il server è in esecuzione
23
Telematica II – A.A. 2009-2010
‰ con valori da modificare/configurare:
– ServerAdmin Æ indirizzo e-mail dell’amministratore del
server
– ServerName Æ nome dell’host su cui gira Apache
– ErrorLog Æ indica il file di log nel quale vengono
registrati tutti gli errori del server
– DocumentRoot Æ directory a partire dalla quale sono
contenute tutte le pagine HTML
– CustomLog Æ indica il file di log ed il suo formato (p.e.
utilizzato per fare statistiche, ved. Google Analytics)
–
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
24
DirectoryIndex Æ pagina predefinita che viene
restituita al client nel caso si specifica solo il nome
dell’host
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Esempio di file httpd.conf
Protocollo FTP
#
# Based upon the NCSA server configuration files originally by Rob McCool.
#
# This is the main Apache server configuration file. It contains the
# configuration directives that give the server its instructions.
# See URL:http://httpd.apache.org/docs-2.0/ for detailed information about
# the directives.
#
Listen *:80
allowedIPs:listenPort
Protocollo FTP
User apache
Group apache
ServerAdmin [email protected]
in caso di errore 501 (internal server error)
ServerName dee227.poliba.it
DocumentRoot "/var/www/html”
ErrorLog "/var/log/httpd/error_log”
CustomLog logs/access_log
25
Telematica II – A.A. 2009-2010
tracciamento degli errori (4xx e 5xx)
tracciamento degli accessi (statistiche)
a cura di Pascoschi Giovanni
26
Protocollo FTP
Telematica II – A.A. 2009-2010
Protocollo FTP
FTP Client
‰ Il protocollo File Transfer Protocol (FTP) consente il trasferimento di
file tra due host Æ RFC 959
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
FTP Server
TCP control connection
(port 21)
21)
TCP data connection (port
(port 20)
20)
File System
locale
‰ Utilizza 2 connessioni TCP:
¾ Connessione di controllo : utilizzata per trasferire
informazioni di controllo tra client e server
¾ Connessione dati : utilizzata per il trasferimento dei file
27
a cura di Pascoschi Giovanni
File System
remoto
‰ La connessione di controllo è persistente ed identifica una
sessione (necessaria autenticazione mediante login / logout)
‰ La
connessione
dati
non
è
persistente
,
nell’ambito di una sessione, per ogni ambito file trasferito è
creata una nuova connessione dati (il server è in ascolto sulla
porta 20 in attesa di nuove connessioni)
28
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Protocollo FTP
FTP : autenticazione
‰ FTP richiede l’autenticazione dell’utente remoto il quale deve
possedere un account sul server
‰ a discrezione del server esiste anche la possibilita’ di
autenticare un utente anonimo (anonymous FTP)
¾ User name: anonymous
¾ Password:qualsiasi (generalmente mail address)
¾ Numero limitato di risorse
¾ Diritti limitati (generalmente è negato il permesso w)
User Interface
User protocol
interpreter
Control
connection
User data
transfer function
Data
connection
Server protocol
interpreter
Server
Client
29
‰ FTP non è stateless, infatti le connessioni TCP devono
essere associate all’account dell’utente loggato (vincolo sul
massimo numero di utenti loggati)
Server data
transfer function
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
30
Rappresentazione dei dati (1)
31
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Rappresentazione dei dati (2)
‰ File Type:
¾ È possibile impostarlo in fase di configurazione della
connessione
• ASCII ( default)
• EBCDIC ( mainframe IBM)
• Binary
¾ Local file type: il numero di bit significativi per byte : è
specificato dal sender (se = 8 coincide con binary)
¾ attualmente
è
difficile
per trasferire file testuali
Telematica II – A.A. 2009-2010
che
si
adoperi
‰ Structure:
¾ File Structure (default): il file è un flusso di byte contigui
¾ Record Structure : utilizzata solo con file di testo (ASCII o
EBCDIC)
¾ Page Structure : ogni pagina è trasmessa in modo numerato
(deprecato per PDP-11)
FTP
a cura di Pascoschi Giovanni
32
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Rappresentazione dei dati (3)
Rappresentazione dei dati (4)
‰ Transmission mode:
¾ Stream mode (default): il file è trasferito come un flusso di byte
contigui
¾ Block mode : il file è trasferito come flusso di blocchi,
ognuno dei quali è preceduto da un header
¾ Compressed
mode
:
basato
su
Run-Length
Encoding
(RLE) di sequenze del medesimo byte
‰ Le implementazioni più comuni di client e server FTP su piattaforme
UNIX adottano le seguenti convenzioni:
¾ File Type Type: ASCII o binary
¾ Structure : file
¾ Transmission mode: stream mode
RLE is a simple compression algorithm. It consists of the process of
searching for repeated runs of a single symbol in an input stream, and
replacing them by a single instance of the symbol and a run count (p.e.
“allegretti” Æ “al2egret2i” Æ basso rendimento per dati testuali Æ
ottimale per le immagini che hanno un alto livello di ridondanza)
33
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
34
Comandi FTP
a cura di Pascoschi Giovanni
Repliche FTP
Comando
ABOR
Descrizione
Annulla il precedente comando ed ogni
trasferimento dati
Reply
Descrizione
1yz
Positive preliminary reply (l’azione sta partendo ma è necessaria
un’altra replica prima di un nuovo comando)
2yz
Positive completion reply (un nuovo comando può essere inviato)
3yz
Positive intermediate reply (il comando è stato accettato ma un altro
comando deve essere inviato per continuare)
LIST filelist
Lista files o directory
PASS password
Specifica la password
PORT n1,n2,…n6
Indirizzo IP del Client (n1.n2.n3.n4) e
porta (256*n5+n6)
4yz
Transient negative completion reply (la richiesta non è stata accettata,
l’errore è temporaneo, si può ritentare in seguito)
Disconnessione dal server
5yz
Permanent negative completion reply
RETR filename
Richiede un file
x0z
Syntax error
STOR filename
Fa l’upload di un file
x1z
Information
Ritorna il tipo di S.O. del server
x2z
Connections
Specifica il modo di trasferimento: A
(ASCII) I(binario)
x3z
Autentication and accounting
x4z
Unspecified
x5z
Filesystem status
QUIT
SYST
TYPE type
USER username
35
Telematica II – A.A. 2009-2010
Telematica II – A.A. 2009-2010
Specifica lo username
a cura di Pascoschi Giovanni
36
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Repliche FTP - esempi
Gestione delle connessioni
‰ La connessione dati è utilizzata per
– Inviare un file da server a client
– Inviare un file da client a server
– Inviare un elenco di file o directory dal server al client
(comando list)
‰ 125 Data connection already open; transfer starting
‰ 200 Command OK
‰ 214 Help message
‰ 331Username OK, password required
‰ 425 Can’t open data connection [problemi derivanti dalla
connessione di rete]
‰ 452 Error writing file Error [problemi derivanti dalla mancanza
di permessi adeguati]
‰ 500 Syntax error (unrecognized command)
‰ 501Syntax error (invalid arguments)
‰ 502 Unimplemented MODE type
37
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
‰ Una nuova connessione dati è creata per ogni file da trasferire
38
Gestione delle connessioni
‰ Modalità passiva:
– È il server a mettersi in ascolto per una connessione
– Si usa il comando PASV per effettuare la commutazione.
– E’ utile nel caso in cui il client si trovi dietro un firewall o un
NAT e quindi non può accettare connessioni in ingresso
– In questa modalità il server si mette in ascolto su una data
porta ed aspetta una connessione dal client
– La risposta a questo comando comprende il numero di porta su
cui è in ascolto il server
‰ Modalità attiva:
– Il client sceglie un numero di porta > 1024 su cui mettersi in
ascolto
– Il client invia al server, tramite il comando PORT, il numero controllo
di porta scelto
dati
– Il server avvia una connessione dati attiva sulla porta
ricevuta (dal lato server il numero di porta è 20)
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Gestione delle connessioni
‰ La creazione della connessione dati è sotto il controllo del
client
‰ Esistono 2 modalità di gestione della connessione dati:
- Attiva
- Passiva
39
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
40
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Esempio di sessione FTP
Esempio di sessione FTP
220 (vsFTPd 2.0.1)
AUTH KERBEROS_V4
530 Please login with USER and PASS.
USER stefano
331 Please specify the password.
PASS pippo
Æ finita fase di autenticazione
230 Login successful. Æ avvia sessione
SYST
215 UNIX Type: L8
Æ L8 = Linux
PASV
227 Entering Passive Mode (127,0,0,1,157,77) Æ si entra in modalità passiva
LIST
150 Here comes the directory listing. Æ lista dei file
226 Directory send OK.
TYPE I
200 Switching to Binary mode.
Æ modalità binaria
RETR prova.txt
Æ richiesta download prova.txt
150 Opening BINARY mode data connection for prova.txt (0 bytes).
226 File send OK.
QUIT
Æ fine sessione
221 Goodbye.
41
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
No.
Time
1 0.000000
Source
193.204.59.21
Protocol Info
TCP
32786 > ftp(21) [SYN] Seq=0 Ack=0
2 0.000083
193.204.59.227 193.204.59.21
TCP
ftp(21) > 32786 [SYN, ACK] Seq=0
Ack=1
3 0.000135
193.204.59.21
TCP
32786 > ftp [ACK] Seq=1 Ack=1
FTP
ftp > 32786 Response: 220 (vsFTPd 2.0.1)
FTP
32786 > ftp Request: PASV
193.204.59.227
21 9.862311
193.204.59.21
193.204.59.227
22 9.862756 193.204.59.227 193.204.59.21
FTP
ftp > 32786 Response: 227 Entering Passive
Mode (127,0,0,1,157,77) Passive port: 40269 (157*256+77)
24 9.876359
193.204.59.21
25 9.876406
26 9.876430
42
193.204.59.227
TCP
32787 > 40269 [SYN]
193.204.59.227 193.204.59.21
TCP
40269 > 32787 [SYN, ACK]
193.204.59.21
TCP
32787 > 40269 [ACK]
193.204.59.227
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Client FTP
Destination
Protocol Info
193.204.59.227 FTP
32786 > ftp(21) Request: LIST
28 9.884313
193.204.59.227 193.204.59.21
directory listing.
FTP
ftp > 32786 Response: 150 Here comes the
29 9.889893
193.204.59.227 193.204.59.21 FTP-DATA 40269 > 32787 FTP Data:
drwx-----3 500
500
4096 Apr 14 15:47 Desktop\r\n-rwxr--r-500
958906 Apr 13 11:03 apt-0.5.15cnc6-1.1.fc3.fr.i386.rpm\r\ndrwxr-xr-x
500
4096 Apr 14 16:06 bin\r\n-rw-r
31 9.890257
OK.
Destination
193.204.59.227
4 0.016440 193.204.59.227 193.204.59.21
.............
.............
Esempio di sessione FTP
No.
Time
27 9.876767
Source
193.204.59.21
193.204.59.227 193.204.59.21
FTP
‰ Su tutti i sistemi Windows ed Unix , esiste un client ftp testuale,
richiamabile digitando:
1 500
2 500
ftp <nome_host>
ftp > 32786 Response: 226 Directory send
‰ Digitando il comando help si può ottenere la lista dei comandi
..............
..............
‰ Esistono molti altri client grafici quali: WS_FTP , FileZilla , GFTP, ...
67 88.612774
193.204.59.21
193.204.59.227 FTP
68 88.613092
193.204.59.227 193.204.59.21
32786 > ftp Request: QUIT
‰ Anche molti browser web possono essere usati come client FTP
43
Telematica II – A.A. 2009-2010
FTP
ftp > 32786 Response: 221 Goodbye.
a cura di Pascoschi Giovanni
44
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Client FTP - FileZilla
Server FTP
‰ Un esempio di server FTP open-source disponibile per Linux è vsFTPd
(Very Secure FTP daemon)
‰ Dopo l’installazione del server, verrà creato un utente ftp, con una
propria home directory
‰ A questo punto il server è già in grado di funzionare. Se si prova un
login anonimo, verrà mostrato il contenuto della home directory
dell’utente ftp
‰ In Windows c’è FileZilla versione server
45
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
46
Configurazione di vsFTPD
Protocollo Proxy Server/AJAX/Apache/FTP
‰ Principali direttive:
– max_clients: massimo numero di client che si possono connettere
– max_per_ip: massimo numero di connessioni da uno stesso indirizzo
IP Æ per evitare il “bombing”
– anonymous_enable: abilita l’accesso agli utenti anonimi
– local_enable: abilita l’accesso agli utenti locali
– anon_upload_enable: consente agli utenti anonimi di fare l’upload di
file
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Riepilogo della lezione
‰ Si agisce sul file testuale vsftpd.conf, contenuto nella directory /etc
47
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Proxy server
AJAX
Apache
Protocollo FTP
48
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Fine della lezione
Indicazioni per l’esercizio n.11b – Analisi response HTTP
‰ Realizzare un’applicazione che analizza i pacchetti HTTP Response
di un web-browser
Domande?
49
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
50
Indicazioni per l’esercizio n.11b – Analisi response HTTP
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Indicazioni per l’esercizio n.11b – Analisi response HTTP
richiesta di
connessione
‰ Create un client socket verso un server web attivo (p.e.
java.sun.com)
‰ Inviare la richiesta minima (GET / HTTP/1.1)
‰ Leggere i dati inviati dal server riga per riga
client
response
JAVA
internet
socket
socket
server
Socket
server
java.
sun.com
Socket clientSocket = new Socket("java.sun.com", 80);
......
link.println("GET / HTTP/1.1\n\n");
connessione
stabilita
51
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
52
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Indicazioni per l’esercizio n.11a – Analisi request HTTP
Indicazioni per l’esercizio n.11a – Analisi request HTTP
richiesta di
connessione
‰ Realizzare un’ applicazione che analizza i pacchetti HTTP Request
di un browser (Internet Explorer e Mozilla)
browser
IE
Mozilla
internet
socket
p.e. sulla stessa macchina
Æ digitando localhost
53
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
Indicazioni per l’esercizio n.11a – Analisi request HTTP
‰ Creare un serversocket (sulla porta 80)
‰ Leggere i dati inviati dal client riga per riga
ServerSocket serverSocket = new ServerSocket(80);
......
while ((read = buffer.readLine()) != null)
55
Telematica II – A.A. 2009-2010
a cura di Pascoschi Giovanni
54
Telematica II – A.A. 2009-2010
socket
server
Socket
server
request
JAVA
connessione
stabilita
a cura di Pascoschi Giovanni