41
Architetture Applicative Il Web Alessandro Martinelli [email protected] 18 Marzo 2014 Architetture Architetture Web L’Architettura Client-Server HTTP Protocolli di Comunicazione Fondamenti di Informatica II

Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Embed Size (px)

Citation preview

Page 1: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Architetture ApplicativeIl Web

Alessandro [email protected]

18 Marzo 2014

ArchitettureArchitetture Web

• L’Architettura Client-Server HTTP

• Protocolli di Comunicazione

Fondamenti di Informatica II

Page 2: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

L’Architettura Client-Server HTTP

L’Architettura Client-Server

ServerClientrichiesta

risposta

Clientrichiesta

risposta

Clientrichiesta

risposta

L’Architettura Client Server e una delle Architetture piu diffuse nei sistemiinformatici.

• Un modulo detto Server offre un servizio, a cui e possibile accedere medianteuna interfaccia di comunicazione

• Il Server fornisce un protocollo di comunicazione, definendo quali sono lerichieste ammissibile e qual’e il formato delle risposte.

• Un qualsiasi modulo puo agire come Client, mandando al server delle richiestee il Server fornisce le risposte.

Il Pattern Architetturale Client-Server e usato soprattutto nelle Infrastrutturedi Comunicazione in Rete.

A. Martinelli Architetture Applicative Il Web 18/03/2014 2 / 20

Page 3: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

L’Architettura Client-Server HTTP

Architetture Distribuite in Rete

Le Architetture Distribuite in Rete utilizzano il sistema di Comunicazione diRete noto come TCP-IP.

PC

Servizio IP

Modulo LAN

Servizio TCP

Applicazione PC

Servizio IP

Modulo LAN

Servizio TCP

Applicazione

PC o Router

Servizio IP

Modulo LAN

PC o Router

Servizio IP

Modulo LAN

PC o Router

Servizio IP

Modulo LAN

Messaggio

Mittente

Destinatario

A. Martinelli Architetture Applicative Il Web 18/03/2014 3 / 20

Page 4: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

L’Architettura Client-Server HTTP

Architetture Distribuite in Rete: TCP ed IP

• IP sta per Internet Protocol. E’ il protocollo incaricato del routing(instradamento) dei pacchetti dati, che devono andare da un mittente ad undesinatario della rete.

A. Martinelli Architetture Applicative Il Web 18/03/2014 4 / 20

Page 5: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

L’Architettura Client-Server HTTP

Architetture Distribuite in Rete: TCP ed IP

• IP sta per Internet Protocol. E’ il protocollo incaricato del routing(instradamento) dei pacchetti dati, che devono andare da un mittente ad undesinatario della rete.

• Ogni macchina ha un indirizzo IP che la identifica (L’Indirizzo IPv4 prevedeun codice a 4 byte).

A. Martinelli Architetture Applicative Il Web 18/03/2014 4 / 20

Page 6: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

L’Architettura Client-Server HTTP

Architetture Distribuite in Rete: TCP ed IP

• IP sta per Internet Protocol. E’ il protocollo incaricato del routing(instradamento) dei pacchetti dati, che devono andare da un mittente ad undesinatario della rete.

• Ogni macchina ha un indirizzo IP che la identifica (L’Indirizzo IPv4 prevedeun codice a 4 byte).

• Quando una macchina riceva un pacchetto dati, il protocollo IP sulla basedell’Indirizzo decide se trattenere il messaggio o rilanciarlo.

A. Martinelli Architetture Applicative Il Web 18/03/2014 4 / 20

Page 7: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

L’Architettura Client-Server HTTP

Architetture Distribuite in Rete: TCP ed IP

• IP sta per Internet Protocol. E’ il protocollo incaricato del routing(instradamento) dei pacchetti dati, che devono andare da un mittente ad undesinatario della rete.

• Ogni macchina ha un indirizzo IP che la identifica (L’Indirizzo IPv4 prevedeun codice a 4 byte).

• Quando una macchina riceva un pacchetto dati, il protocollo IP sulla basedell’Indirizzo decide se trattenere il messaggio o rilanciarlo.

• I messaggi transitano su macchine diverse sfruttando le reti locali (LAN).

A. Martinelli Architetture Applicative Il Web 18/03/2014 4 / 20

Page 8: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

L’Architettura Client-Server HTTP

Architetture Distribuite in Rete: TCP ed IP

• IP sta per Internet Protocol. E’ il protocollo incaricato del routing(instradamento) dei pacchetti dati, che devono andare da un mittente ad undesinatario della rete.

• Ogni macchina ha un indirizzo IP che la identifica (L’Indirizzo IPv4 prevedeun codice a 4 byte).

• Quando una macchina riceva un pacchetto dati, il protocollo IP sulla basedell’Indirizzo decide se trattenere il messaggio o rilanciarlo.

• I messaggi transitano su macchine diverse sfruttando le reti locali (LAN).

• Il Protocollo TCP (Transmission Control Protocol ) e un protocollo dicomunicazione che usa il protocollo IP per mandare i messaggi ed al contempoeseguire un controllo di avvenuta ricezione.

A. Martinelli Architetture Applicative Il Web 18/03/2014 4 / 20

Page 9: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

L’Architettura Client-Server HTTP

L’Architettura HTTP ovvero il WEB

• IL WEB e basato sull’architettura Client-Server (per la Precisione il Web eun insieme di Server), dove i Server sono accessibili attraverso connesioniTCP-IP

• IL protocollo di comunicazione tra Client e Server e detto HTTP (HyperText Transfer Protocol).

Client

Servizio IP

Servizio TCP

Browser

Web

Server

Modulo

HTTP

Servizio IP

Servizio TCP

Modulo

HTTPFyle System

Server

Servizio WEB

(Elaborazione

Pagine WEB)

Richiesta HTTP

Risposta HTTP

A. Martinelli Architetture Applicative Il Web 18/03/2014 5 / 20

Page 10: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

L’Architettura Client-Server HTTP

L’Architettura HTTP ovvero il WEB: i DNS

Client

Servizio IP

Servizio TCP

ServerModulo

HTTP

Servizio IP

Servizio TCP

Modulo

HTTP

Richiesta HTTP(Indirizzo)

Risposta HTTP

Server-DNS

Servizio IP

Servizio TCP

Servizio

DNS

chi è www.unknown.com?

www.unknow.com=

indirizzo

• I Server Web sono accessibili mediante Indirizzo IP• Spesso l’Indirizzo non e noto, o puo cambiare nel tempo. Un sistema di ServerSpeciali detti DNS (Domain Name Server) mantiene la mappatura tra nomied indirizzi, e rappresenta un elemento fondamentale per il funzionamento delWEB.

A. Martinelli Architetture Applicative Il Web 18/03/2014 6 / 20

Page 11: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

L’Architettura Client-Server HTTP

Le Architetture dei Sistemi Informativi

Client

Servizio IP

Servizio TCP

ServerModulo

HTTP

Servizio IP

Servizio TCP

Modulo

HTTP

Richiesta HTTP(Indirizzo)

Risposta HTTP

DB

Servizio IP

Servizio TCP

Modulo

DB

interrogazione DBDati

Nei Sistemi Informativi distribuiti in Rete un altro elemento importante sono iServer delle Basi di Dati. Questi servizi sono solitamente protetti da password el’accesso e consentito solo ai Server HTTP del Sistema Informativo.

A. Martinelli Architetture Applicative Il Web 18/03/2014 7 / 20

Page 12: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

L’Architettura Client-Server HTTP

Considerazioni

Portabilita

• I protocolli IP, TCP ed HTTP sono universali.

• Inoltre, per le Applicazioni Server il problema dell Portabilita e meno sentito, perche ilproprietario del Server e in grado di scegliere l’Architettura Software-Hardware piu adattaper il Servizio.

A. Martinelli Architetture Applicative Il Web 18/03/2014 8 / 20

Page 13: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

L’Architettura Client-Server HTTP

Considerazioni

Portabilita

• I protocolli IP, TCP ed HTTP sono universali.

• Inoltre, per le Applicazioni Server il problema dell Portabilita e meno sentito, perche ilproprietario del Server e in grado di scegliere l’Architettura Software-Hardware piu adattaper il Servizio.

Scalabilita

• Nel caso di Applicazioni WEB o comunque Client-Server, la Scalabilita va cercata nellapossibilita del Server di supportare un numero crescente di Client

• Il Sistema dei DNS e uno strumento importante perche consente di cambiare la locazione ela distribuzione dei Server Fisici nel tempo, senza che il loro nome venga effettivamentemodificato.

A. Martinelli Architetture Applicative Il Web 18/03/2014 8 / 20

Page 14: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

L’Architettura Client-Server HTTP

Considerazioni

Portabilita

• I protocolli IP, TCP ed HTTP sono universali.

• Inoltre, per le Applicazioni Server il problema dell Portabilita e meno sentito, perche ilproprietario del Server e in grado di scegliere l’Architettura Software-Hardware piu adattaper il Servizio.

Scalabilita

• Nel caso di Applicazioni WEB o comunque Client-Server, la Scalabilita va cercata nellapossibilita del Server di supportare un numero crescente di Client

• Il Sistema dei DNS e uno strumento importante perche consente di cambiare la locazione ela distribuzione dei Server Fisici nel tempo, senza che il loro nome venga effettivamentemodificato.

Prestazioni

Le prestazioni sono quasi del tutto dipendenti da:

• Il carico di lavoro del server

• I tempi di comunicazione della rete

A. Martinelli Architetture Applicative Il Web 18/03/2014 8 / 20

Page 15: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Protocolli di Comunicazione

I Protocolli di Comunicazione nel Layer Applicativo

Le Architetture TCP/IP moderne ricalcano in larga misura lo schema ISO/OSI(Standard ISO Open Systems Interconnection), dove un unico LayerApplicativo sostituisce gli strati piu alti del modello originale.

A. Martinelli Architetture Applicative Il Web 18/03/2014 9 / 20

Page 16: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Protocolli di Comunicazione

I Protocolli di Comunicazione nel Layer Applicativo

L’Architettura TCP/IP offre un servizio di comunicazione per il trasferimento deimessaggi realizzati dal Layer Applicativo.

Le Applicazioni ed i Server Web utilizzano i protocolli dello Strato Applicativoper dialogare tra di loro.

A. Martinelli Architetture Applicative Il Web 18/03/2014 10 / 20

Page 17: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Protocolli di Comunicazione

I Protocolli di Comunicazione nel Layer Applicativo

Alcuni importanti protocolli del Layer Applicativo

• HTTP: HyperText Transfer Protocol

• FTP : File Transfer Protocol

• SMTP : Simple Mail Transfer Protocol

• POP : Post Office Protocol

• IMAP : Internet Message Access Protocol

• Transport Layer Security : Transport Layer Security

• SSH : Secure Shell

A. Martinelli Architetture Applicative Il Web 18/03/2014 11 / 20

Page 18: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Protocolli di Comunicazione

I Protocolli di Comunicazione nel Layer Applicativo

Alcuni importanti protocolli del Layer Applicativo

• HTTP: HyperText Transfer Protocol

• FTP : File Transfer Protocol

• SMTP : Simple Mail Transfer Protocol

• POP : Post Office Protocol

• IMAP : Internet Message Access Protocol

• Transport Layer Security : Transport Layer Security

• SSH : Secure Shell

Le specifiche di questi protocolli sono da sempre definite attraverso gli RFC(Request for Comment), documenti pubblici utilizzati per proporre nuoviprotocolli di Rete.

A. Martinelli Architetture Applicative Il Web 18/03/2014 11 / 20

Page 19: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Protocolli di Comunicazione

Protocolli e Porte

Tra i servizi offerti dal Layer TCP, uno dei piu rilevanti e il concetto di Porta.

A. Martinelli Architetture Applicative Il Web 18/03/2014 12 / 20

Page 20: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Protocolli di Comunicazione

Protocolli e Porte

Tra i servizi offerti dal Layer TCP, uno dei piu rilevanti e il concetto di Porta.

Porta TCP/IP

• Una Porta e l’identificativo di un Canale di Comunicazione.

• Le Porte sono associate ai Messaggi nell’Header TCP.

• Piu protocolli applicativi possono usare il servizio TCP/IP utilizzando portedifferenti.

• Grazie alla Porta il protocollo TCP e in grado di individuare a qualeApplicazione o Protocollo Applicativo un messaggio e destinato.

A. Martinelli Architetture Applicative Il Web 18/03/2014 12 / 20

Page 21: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Protocolli di Comunicazione

Protocolli e Porte

Tra i servizi offerti dal Layer TCP, uno dei piu rilevanti e il concetto di Porta.

Porta TCP/IP

• Una Porta e l’identificativo di un Canale di Comunicazione.

• Le Porte sono associate ai Messaggi nell’Header TCP.

• Piu protocolli applicativi possono usare il servizio TCP/IP utilizzando portedifferenti.

• Grazie alla Porta il protocollo TCP e in grado di individuare a qualeApplicazione o Protocollo Applicativo un messaggio e destinato.

Le Porte TCP nelle API: i Socket

Il termine Socket nelle API per la programmazione di rete sta ad indicare unCanale di Comunicazione cottraddistinto da una certa Porta. Ad esempio, inun linguaggio come JAVA un programmatore:

• istanziera un Oggetto di tipo Socket per avere accesso ad un servizio TCP/IP

• fara uso di una libreria che implementa un protocollo Applicativo come HTTPche per funzionare avra bisogno di istanziare un Socket.

A. Martinelli Architetture Applicative Il Web 18/03/2014 12 / 20

Page 22: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

HyperText Transfert Protocol

L’HyperText Transfert Protocol (HTTP) e lo standard WEB per il trasferimento dicontenuti ipertestuali e multimediali.

A. Martinelli Architetture Applicative Il Web 18/03/2014 13 / 20

Page 23: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

HyperText Transfert Protocol

L’HyperText Transfert Protocol (HTTP) e lo standard WEB per il trasferimento dicontenuti ipertestuali e multimediali.

• Nasce alla fine degli anni ’80.• Si afferma come standard negli anni ’90 grazie ai contributi del World WideWeb Consortium, che in parallelo definiva gli altri standard del WEB, ovvero:

• HTTP, solitamente, utilizza la porta di comunicazione 80.

A. Martinelli Architetture Applicative Il Web 18/03/2014 13 / 20

Page 24: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

HyperText Transfert Protocol

L’HyperText Transfert Protocol (HTTP) e lo standard WEB per il trasferimento dicontenuti ipertestuali e multimediali.

• Nasce alla fine degli anni ’80.• Si afferma come standard negli anni ’90 grazie ai contributi del World WideWeb Consortium, che in parallelo definiva gli altri standard del WEB, ovvero:

• l’ HyperText Markup Language (HTML) per la descrizione deicontenuti multimediali

• HTTP, solitamente, utilizza la porta di comunicazione 80.

A. Martinelli Architetture Applicative Il Web 18/03/2014 13 / 20

Page 25: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

HyperText Transfert Protocol

L’HyperText Transfert Protocol (HTTP) e lo standard WEB per il trasferimento dicontenuti ipertestuali e multimediali.

• Nasce alla fine degli anni ’80.• Si afferma come standard negli anni ’90 grazie ai contributi del World WideWeb Consortium, che in parallelo definiva gli altri standard del WEB, ovvero:

• l’ HyperText Markup Language (HTML) per la descrizione deicontenuti multimediali

• ed il concetto di Uniform Resource Locator(URL) per la locazione deicontenuti multimediali in RETE.

• HTTP, solitamente, utilizza la porta di comunicazione 80.

A. Martinelli Architetture Applicative Il Web 18/03/2014 13 / 20

Page 26: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

HyperText Transfert Protocol

L’HyperText Transfert Protocol (HTTP) e lo standard WEB per il trasferimento dicontenuti ipertestuali e multimediali.

• Nasce alla fine degli anni ’80.• Si afferma come standard negli anni ’90 grazie ai contributi del World WideWeb Consortium, che in parallelo definiva gli altri standard del WEB, ovvero:

• l’ HyperText Markup Language (HTML) per la descrizione deicontenuti multimediali

• ed il concetto di Uniform Resource Locator(URL) per la locazione deicontenuti multimediali in RETE.

• HTTP, solitamente, utilizza la porta di comunicazione 80.

HTTP e URLs

L’URL e una stringa di testo con un formato standard che consentel’identificazione di una Risorsa di rete.protocollo://[username:password@]nomehost[:porta][/percorso][?parametri]NOTA: [] indicano elementi opzionali.

A. Martinelli Architetture Applicative Il Web 18/03/2014 13 / 20

Page 27: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

Un Esempio

HTTP e URLs

• Se il protocollo e http, l’URL si traduce in una Richiesta HTTP, da spedireall’indirizzo IP il dell’host, ovvero il Server HTTP, (eventualmente risoltoattraverso i DNS) sul canale identificato dalla porta.

• Il percorso identifica la posizione univoca all’interno al server http delcontenuto ipertestuale.

• I ?parametri contengono informazioni aggiuntive che descrivono il modo o leopzioni con cui e richiesto al server di fornire i contenuti ipertestuali.

A. Martinelli Architetture Applicative Il Web 18/03/2014 14 / 20

Page 28: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

Un Esempio

HTTP e URLs

• Se il protocollo e http, l’URL si traduce in una Richiesta HTTP, da spedireall’indirizzo IP il dell’host, ovvero il Server HTTP, (eventualmente risoltoattraverso i DNS) sul canale identificato dalla porta.

• Il percorso identifica la posizione univoca all’interno al server http delcontenuto ipertestuale.

• I ?parametri contengono informazioni aggiuntive che descrivono il modo o leopzioni con cui e richiesto al server di fornire i contenuti ipertestuali.

Un Esempio di Richiesta HTTP:GET /wiki/Pagina principale HTTP/1.1Connection: Keep-AliveUser-Agent: Mozilla/5.0 (compatible; Konq ueror/3.2; Linux) (KHTML, likeGecko)Accept: text/html, image/jpeg, image/png, text/*, image/*, */*Accept-Encoding: x-gzip, x-deflate, gzip, deflate, identityAccept-Charset: iso-8859-1, utf-8;q=0.5, *;q=0.5Accept-Language: enHost: it.wikipedia.org

A. Martinelli Architetture Applicative Il Web 18/03/2014 14 / 20

Page 29: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

HTTP: La Richiesta

Il messaggio HTTP ha solitamente una intestazione (header) ed un corpo(body)

A. Martinelli Architetture Applicative Il Web 18/03/2014 15 / 20

Page 30: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

HTTP: La Richiesta

Il messaggio HTTP ha solitamente una intestazione (header) ed un corpo(body)La prima riga del’header HTTP e la riga di richiesta, che e composta da:

• Il Metodo di Richiesta. Tra i metodi principali, GET, HEAD e POST.

• l’Uniform Resource Identifier (URI), ed e l’identificatore dell’oggetto cheviene richiesto.

• la versione del protocollo utilizzata.

A. Martinelli Architetture Applicative Il Web 18/03/2014 15 / 20

Page 31: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

HTTP: La Richiesta

Il messaggio HTTP ha solitamente una intestazione (header) ed un corpo(body)La prima riga del’header HTTP e la riga di richiesta, che e composta da:

• Il Metodo di Richiesta. Tra i metodi principali, GET, HEAD e POST.

• l’Uniform Resource Identifier (URI), ed e l’identificatore dell’oggetto cheviene richiesto.

• la versione del protocollo utilizzata.

Attraverso le richieste HTTP i Client Web possono interagire con i Server Web:

A. Martinelli Architetture Applicative Il Web 18/03/2014 15 / 20

Page 32: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

HTTP: La Richiesta

Il messaggio HTTP ha solitamente una intestazione (header) ed un corpo(body)La prima riga del’header HTTP e la riga di richiesta, che e composta da:

• Il Metodo di Richiesta. Tra i metodi principali, GET, HEAD e POST.

• l’Uniform Resource Identifier (URI), ed e l’identificatore dell’oggetto cheviene richiesto.

• la versione del protocollo utilizzata.

Attraverso le richieste HTTP i Client Web possono interagire con i Server Web:

• GET: il Client chiede il contenuto Multimediale identificato dall’URI. Il Serverrisponde con:

• Header Http: un messaggio che descrive il contenuto Multimediale.• Body Http: il contenuto multimediale stesso.

A. Martinelli Architetture Applicative Il Web 18/03/2014 15 / 20

Page 33: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

HTTP: La Richiesta

Il messaggio HTTP ha solitamente una intestazione (header) ed un corpo(body)La prima riga del’header HTTP e la riga di richiesta, che e composta da:

• Il Metodo di Richiesta. Tra i metodi principali, GET, HEAD e POST.

• l’Uniform Resource Identifier (URI), ed e l’identificatore dell’oggetto cheviene richiesto.

• la versione del protocollo utilizzata.

Attraverso le richieste HTTP i Client Web possono interagire con i Server Web:

• GET: il Client chiede il contenuto Multimediale identificato dall’URI. Il Serverrisponde con:

• Header Http: un messaggio che descrive il contenuto Multimediale.• Body Http: il contenuto multimediale stesso.

• HEAD: il Client chiede soltanto le informazioni relative al contenutomultimediale (l’Header HTTP).

A. Martinelli Architetture Applicative Il Web 18/03/2014 15 / 20

Page 34: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

HTTP: La Richiesta

Il messaggio HTTP ha solitamente una intestazione (header) ed un corpo(body)La prima riga del’header HTTP e la riga di richiesta, che e composta da:

• Il Metodo di Richiesta. Tra i metodi principali, GET, HEAD e POST.

• l’Uniform Resource Identifier (URI), ed e l’identificatore dell’oggetto cheviene richiesto.

• la versione del protocollo utilizzata.

Attraverso le richieste HTTP i Client Web possono interagire con i Server Web:

• GET: il Client chiede il contenuto Multimediale identificato dall’URI. Il Serverrisponde con:

• Header Http: un messaggio che descrive il contenuto Multimediale.• Body Http: il contenuto multimediale stesso.

• HEAD: il Client chiede soltanto le informazioni relative al contenutomultimediale (l’Header HTTP).

• POST: il Client fornisce informazioni al Server.

• Header Http: l’URI descrive l’informazione che il Client vuole caricare.• Body Http: contiene le informazioni che devono essere caricate

A. Martinelli Architetture Applicative Il Web 18/03/2014 15 / 20

Page 35: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Il Protocollo HTTP

HTTP: La risposta

La risposta HTTP e sempre accompagnata da un Header che fornisce informazionidettagliate sul contenuto relativo all’URI.Tra le informazioni principali, la Risposta riporta anche il tipo di contenuto, chedeve essere una delle categorie di contenuti standard, i MIME (MultipurposeInternet Mail Extensions) come:

• text/html• image/jpg• text/plain• image/gif

Un Esempio di Risposta HTTP:HTTP/1.0 200 OKDate: Mon, 28 Jun 2004 10:47:31 GMTServer: Apache/1.3.29 (Unix) PHP/4.3.4X-Powered-By: PHP/4.3.4Vary: Accept-Encoding,CookieCache-Control: private, s-maxage=0, max-age=0, must-revalidateContent-Language: itContent-Type: text/html; charset=utf-8Age: 7673X-Cache: HIT from wikipedia.orgConnection: close

A. Martinelli Architetture Applicative Il Web 18/03/2014 16 / 20

Page 36: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Altri Protocolli di Comunicazione

Protocolli Mail : PoP e IMAP

I Protocolli di Comunicazione per la Posta Elettronica sono protocolli checonsentono una comunicazione piu specifica tra un server di Posta Elettronica edun Client.

A. Martinelli Architetture Applicative Il Web 18/03/2014 17 / 20

Page 37: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Altri Protocolli di Comunicazione

Protocolli Mail : PoP e IMAP

I Protocolli di Comunicazione per la Posta Elettronica sono protocolli checonsentono una comunicazione piu specifica tra un server di Posta Elettronica edun Client.

PoP: Post Office Protocol

• Porta Standard: 110

• Consente di scaricare i file che contengono i dati delle e-mail, e quindi laconseguente lettura dei messaggi di posta in locale.

A. Martinelli Architetture Applicative Il Web 18/03/2014 17 / 20

Page 38: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Altri Protocolli di Comunicazione

Protocolli Mail : PoP e IMAP

I Protocolli di Comunicazione per la Posta Elettronica sono protocolli checonsentono una comunicazione piu specifica tra un server di Posta Elettronica edun Client.

PoP: Post Office Protocol

• Porta Standard: 110

• Consente di scaricare i file che contengono i dati delle e-mail, e quindi laconseguente lettura dei messaggi di posta in locale.

IMAP: Internet Message Access Protocol

• Porta Standard: 143

• Consente di richiedere singole e-mail o contenuto MIME specifici delle e-mail.

• Mantiene aperta la connessione con client.

• Consente piu di una connessione alla stessa casella di Posta.

A. Martinelli Architetture Applicative Il Web 18/03/2014 17 / 20

Page 39: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Altri Protocolli di Comunicazione

FTP : File Transfer Protocol

Il File Transfer Protocol e utilizzato per il trasferimento e la gestione di Fileattraverso la Rete.

• Prime specifiche all’inizio degli anni ’70.

• Utilizza la porta 21.

• All’interno dei Browser e spesso utilizzato per consentire la navigazione delFile System di un Server da Remoto.

Un problema Noto

E’ noto che uno dei problemi principali dell’FTP e la mancanza di meccanismi disicurezza; infatti, non essendo i messaggi crittografati, i file trasferiti con l’FTPpossono essere sniffati (come si dice in gergo) attraverso la comunicazione di rete,e possono quindi essere recuperati da utenti della rete non ben intenzionati.

A. Martinelli Architetture Applicative Il Web 18/03/2014 18 / 20

Page 40: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Altri Protocolli di Comunicazione

TLS : Transport Layer Security

Messaggio Crittografato

Un Messaggio Crittografato e un codice binario illeggibile, risultato da unalgoritmo di elaborazione che trasforma un Messaggio Originale.

• L’algoritmo di elaborazione e invertibile.

• Sia l’Algoritmo di Crittografia che l’Algoritmo Inverso del messaggioorginale hanno bisogno di conoscere una chiave comune.

• La chiave comune rappresenta un codice segreto. Solo chi e a conoscenza dellaChiave puo applicare l’Algoritmo Inverso ed ottenere il Messaggio Originale

Il Trasport Layer Security e un protocollo che prevede l’applicazione di chiavicrittografiche hai messaggi, per rendere sicuro il trasferimento dei dati. Sul TLS sibasano:

• l’ HTTPS: una versione di HTTP che usa TLS per rendere la comunicazionepiu sicura

• il FTPS: una versione di FTP che usa TLS per rendere la comunicazione piusicura

A. Martinelli Architetture Applicative Il Web 18/03/2014 19 / 20

Page 41: Architetture Applicative Il Web - shadowframework.com · L’Architettura Client Server `e una delle Architetture piu diffuse nei sistemi ... Le Architetture TCP/IP moderne ricalcano

Altri Protocolli di Comunicazione

SSH : Secure Shell

Il Secure Shell (SSH) e un protocollo di comunicazione che raggiunge dueimportanti obiettivi:

• Garantire la sicurezza della comunicazione.

• Fornire un servizio simile a quello di una Shell Linux, ma operando da remoto.

L’SSH e molto amato ed utilizzato negli ambienti legati a Server Linux e aiSistemi Embedded che dispongono di moduli di Rete. Dall’SSH deriva l’SSH FileTransfer Protocol (SFTP) una versione di FTP che usa SSH per garantire lasicurezza.

A. Martinelli Architetture Applicative Il Web 18/03/2014 20 / 20