Architetture Applicative Il Web



Documenti analoghi
Architetture Web Protocolli di Comunicazione

Protocolli applicativi: FTP

Dal protocollo IP ai livelli superiori

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Telecomunicazione Lezione 6

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Reti di calcolatori. Reti di calcolatori

Applicazioni web centrati sui dati (Data-centric web applications)

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Siti web centrati sui dati (Data-centric web applications)

appunti delle lezioni Architetture client/server: applicazioni client

Informatica per la comunicazione" - lezione 9 -

Corso LAMP. Linux Apache Mysql Php

Esempi di applicazioni internet. WEB Trasferimento File Posta Elettronica Sistema dei nomi di dominio (DNS)

OSOR. Applicazioni di Rete

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Informatica per la comunicazione" - lezione 8 -

Reti di Calcolatori. una rete di calcolatori è costituita da due o più calcolatori autonomi che possono interagire tra di loro una rete permette:

Reti di Telecomunicazione Lezione 8

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Architettura client-server

Lo scenario: la definizione di Internet

Le Reti Informatiche

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software.

Standard di comunicazione

Reti di Calcolatori. Corso di Informatica. Reti di Calcolatori. Reti di Calcolatori. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

MODELLI ISO/OSI e TCP/IP

TCP/IP: INDIRIZZI IP SIMBOLICI

Capitolo 16 I servizi Internet

Comunicazioni sicure su Internet: https e SSL. Fisica dell Informazione

Elementi di Informatica e Programmazione

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

Transmission Control Protocol

Internet Architettura del www

Protocollo HTTP. Alessandro Sorato

Introduzione alle applicazioni di rete

Reti Informatiche. dott. Andrea Mazzini

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

La rete Internet. Percorso di Preparazione agli Studi di Ingegneria. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

PROTOCOLLI APPLICATIVI PER INTERNET

Reti diverse: la soluzione nativa

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Hardware e Software nelle Reti

Internet e i suoi servizi. Luca Cervone (luca.cervone@unibo.it)

Posta Elettronica e Web

Seminari Eucip, Esercizio e Supporto di Sistemi Informativi

Protocolli di Comunicazione

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Livello di Applicazione in Internet

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Il Protocollo HTTP e la programmazione di estensioni Web

Il funzionamento delle reti

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Introduzione alla rete Internet

SS SISTEMI DI COMUNICAZIONE: C O PROTOCOLLI APPLICATIVI

Approfondimento di Marco Mulas

Introduzione alla rete Internet

La sicurezza nel Web

HTTP adaptation layer per generico protocollo di scambio dati

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro

InterNet: rete di reti

Reti di Telecomunicazione Lezione 7

Modulo 1: Posta elettronica

MANUALE UTENTE FORMULA PEC

Sicurezza delle applicazioni web: protocollo HTTP

b) Dinamicità delle pagine e interattività d) Separazione del contenuto dalla forma di visualizzazione

Cenni di programmazione distribuita in C++ Mauro Piccolo

Livello cinque (Livello application)

Introduzione all uso di Internet. Ing. Alfredo Garro

Internet: architettura e servizi

Ipertesto. Reti e Web. Ipertesto. Ipertesto. Ipertestualità e multimedialità

Office e Applicativi sw

Architetture Applicative

Comunicazione nel tempo

FTP. Appunti a cura del prof. ing. Mario Catalano

Introduzione alla rete Internet

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA Paola Zamperlin. Internet. Parte prima

Come funziona internet

ARP (Address Resolution Protocol)

Transcript:

Architetture Applicative Il Web Alessandro Martinelli alessandro.martinelli@unipv.it 18 Marzo 2014 Architetture Architetture Web L Architettura Client-Server HTTP Protocolli di Comunicazione Fondamenti di Informatica II

L Architettura Client-Server HTTP L Architettura Client-Server Client Client Client richiesta risposta richiesta risposta richiesta risposta Server L Architettura Client Server è una delle Architetture più diffuse nei sistemi informatici. Un modulo detto Server offre un servizio, a cui è possibile accedere mediante una interfaccia di comunicazione Il Server fornisce un protocollo di comunicazione, definendo quali sono le richieste ammissibile e qual è il formato delle risposte. Un qualsiasi modulo può agire come Client, mandando al server delle richieste e il Server fornisce le risposte. Il Pattern Architetturale Client-Server è usato soprattutto nelle Infrastrutture di Comunicazione in Rete. A. Martinelli Architetture Applicative Il Web 18/03/2014 2 / 20

L Architettura Client-Server HTTP Architetture Distribuite in Rete Le Architetture Distribuite in Rete utilizzano il sistema di Comunicazione di Rete noto come TCP-IP. PC Mittente PC o Router Modulo LAN Applicazione Servizio TCP Modulo LAN Messaggio PC o Router Modulo LAN PC Destinatario PC o Router Modulo LAN Applicazione Servizio TCP Modulo LAN A. Martinelli Architetture Applicative Il Web 18/03/2014 3 / 20

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 un desinatario della rete. Ogni macchina ha un indirizzo IP che la identifica (L Indirizzo IPv4 prevede un codice a 4 byte). Quando una macchina riceva un pacchetto dati, il protocollo IP sulla base dell 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 ) è un protocollo di comunicazione che usa il protocollo IP per mandare i messaggi ed al contempo eseguire un controllo di avvenuta ricezione. A. Martinelli Architetture Applicative Il Web 18/03/2014 4 / 20

L Architettura Client-Server HTTP L Architettura HTTP ovvero il WEB IL WEB è basato sull architettura Client-Server (per la Precisione il Web è un insieme di Server), dove i Server sono accessibili attraverso connesioni TCP-IP IL protocollo di comunicazione tra Client e Server è detto HTTP (Hyper Text Transfer Protocol). Browser Web Server Servizio WEB (Elaborazione Pagine WEB) Client Modulo HTTP Servizio TCP Risposta HTTP Modulo HTTP Servizio TCP Fyle System Server Richiesta HTTP A. Martinelli Architetture Applicative Il Web 18/03/2014 5 / 20

L Architettura Client-Server HTTP L Architettura HTTP ovvero il WEB: i DNS Client Modulo HTTP Modulo HTTP Server Servizio TCP Risposta HTTP Servizio TCP Richiesta HTTP(Indirizzo) www.unknow.com= indirizzo Server-DNS Servizio DNS chi è www.unknown.com? Servizio TCP I Server Web sono accessibili mediante Indirizzo IP Spesso l Indirizzo non è noto, o può cambiare nel tempo. Un sistema di Server Speciali detti DNS (Domain Name Server) mantiene la mappatura tra nomi ed indirizzi, e rappresenta un elemento fondamentale per il funzionamento del WEB. A. Martinelli Architetture Applicative Il Web 18/03/2014 6 / 20

L Architettura Client-Server HTTP Le Architetture dei Sistemi Informativi Client Modulo HTTP Modulo HTTP Server Servizio TCP Risposta HTTP Servizio TCP Richiesta HTTP(Indirizzo) DB Modulo DB Servizio TCP Dati interrogazione DB Nei Sistemi Informativi distribuiti in Rete un altro elemento importante sono i Server delle Basi di Dati. Questi servizi sono solitamente protetti da password e l accesso è consentito solo ai Server HTTP del Sistema Informativo. A. Martinelli Architetture Applicative Il Web 18/03/2014 7 / 20

L Architettura Client-Server HTTP Considerazioni Portabilità I protocolli IP, TCP ed HTTP sono universali. Inoltre, per le Applicazioni Server il problema dell Portabilità è meno sentito, perchè il proprietario del Server è in grado di scegliere l Architettura Software-Hardware più adatta per il Servizio. Scalabilità Nel caso di Applicazioni WEB o comunque Client-Server, la Scalabilità va cercata nella possibilità del Server di supportare un numero crescente di Client Il Sistema dei DNS è uno strumento importante perchè consente di cambiare la locazione e la distribuzione dei Server Fisici nel tempo, senza che il loro nome venga effettivamente modificato. 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

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 Layer Applicativo sostituisce gli strati più alti del modello originale. A. Martinelli Architetture Applicative Il Web 18/03/2014 9 / 20

Protocolli di Comunicazione I Protocolli di Comunicazione nel Layer Applicativo L Architettura TCP/IP offre un servizio di comunicazione per il trasferimento dei messaggi realizzati dal Layer Applicativo. Le Applicazioni ed i Server Web utilizzano i protocolli dello Strato Applicativo per dialogare tra di loro. A. Martinelli Architetture Applicative Il Web 18/03/2014 10 / 20

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 nuovi protocolli di Rete. A. Martinelli Architetture Applicative Il Web 18/03/2014 11 / 20

Protocolli di Comunicazione Protocolli e Porte Tra i servizi offerti dal Layer TCP, uno dei più rilevanti è il concetto di Porta. Porta TCP/IP Una Porta è l identificativo di un Canale di Comunicazione. Le Porte sono associate ai Messaggi nell Header TCP. Più protocolli applicativi possono usare il servizio TCP/IP utilizzando porte differenti. Grazie alla Porta il protocollo TCP è in grado di individuare a quale Applicazione o Protocollo Applicativo un messaggio è destinato. Le Porte TCP nelle API: i Socket Il termine Socket nelle API per la programmazione di rete sta ad indicare un Canale di Comunicazione cottraddistinto da una certa Porta. Ad esempio, in un linguaggio come JAVA un programmatore: istanzierà un Oggetto di tipo Socket per avere accesso ad un servizio TCP/IP farà uso di una libreria che implementa un protocollo Applicativo come HTTP che per funzionare avrà bisogno di istanziare un Socket. A. Martinelli Architetture Applicative Il Web 18/03/2014 12 / 20

Il Protocollo HTTP HyperText Transfert Protocol L HyperText Transfert Protocol (HTTP) è lo standard WEB per il trasferimento di contenuti ipertestuali e multimediali. Nasce alla fine degli anni 80. Si afferma come standard negli anni 90 grazie ai contributi del World Wide Web Consortium, che in parallelo definiva gli altri standard del WEB, ovvero: l HyperText Markup Language (HTML) per la descrizione dei contenuti multimediali ed il concetto di Uniform Resource Locator(URL) per la locazione dei contenuti multimediali in RETE. HTTP, solitamente, utilizza la porta di comunicazione 80. HTTP e URLs L URL è una stringa di testo con un formato standard che consente l 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

Il Protocollo HTTP Un Esempio HTTP e URLs Se il protocollo è http, l URL si traduce in una Richiesta HTTP, da spedire all indirizzo IP il dell host, ovvero il Server HTTP, (eventualmente risolto attraverso i DNS) sul canale identificato dalla porta. Il percorso identifica la posizione univoca all interno al server http del contenuto ipertestuale. I?parametri contengono informazioni aggiuntive che descrivono il modo o le opzioni con cui è richiesto al server di fornire i contenuti ipertestuali. Un Esempio di Richiesta HTTP: GET /wiki/pagina principale HTTP/1.1 Connection: Keep-Alive User-Agent: Mozilla/5.0 (compatible; Konq ueror/3.2; Linux) (KHTML, like Gecko) Accept: text/html, image/jpeg, image/png, text/*, image/*, */* Accept-Encoding: x-gzip, x-deflate, gzip, deflate, identity Accept-Charset: iso-8859-1, utf-8;q=0.5, *;q=0.5 Accept-Language: en Host: it.wikipedia.org A. Martinelli Architetture Applicative Il Web 18/03/2014 14 / 20

Il Protocollo HTTP HTTP: La Richiesta Il messaggio HTTP ha solitamente una intestazione (header) ed un corpo (body) La prima riga del header HTTP è la riga di richiesta, che è composta da: Il Metodo di Richiesta. Tra i metodi principali, GET, HEAD e POST. l Uniform Resource Identifier (URI), ed è l identificatore dell oggetto che viene 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 Server risponde 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 contenuto multimediale (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

Il Protocollo HTTP La risposta HTTP è sempre accompagnata da un Header che fornisce informazioni dettagliate sul contenuto relativo all URI. Tra le informazioni principali, la Risposta riporta anche il tipo di contenuto, che deve essere una delle categorie di contenuti standard, i MIME (Multipurpose Internet Mail Extensions) come: text/html image/jpg text/plain image/gif Un Esempio di Risposta HTTP: HTTP/1.0 200 OK Date: Mon, 28 Jun 2004 10:47:31 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 X-Powered-By: PHP/4.3.4 Vary: Accept-Encoding,Cookie Cache-Control: private, s-maxage=0, max-age=0, must-revalidate Content-Language: it Content-Type: text/html; charset=utf-8 Age: 7673 X-Cache: HIT from wikipedia.org Connection: close A. Martinelli Architetture Applicative Il Web 18/03/2014 16 / 20 HTTP: La risposta

Altri Protocolli di Comunicazione Protocolli Mail : PoP e IMAP I Protocolli di Comunicazione per la Posta Elettronica sono protocolli che consentono una comunicazione più specifica tra un server di Posta Elettronica ed un Client. PoP: Post Office Protocol Porta Standard: 110 Consente di scaricare i file che contengono i dati delle e-mail, e quindi la conseguente 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 più di una connessione alla stessa casella di Posta. A. Martinelli Architetture Applicative Il Web 18/03/2014 17 / 20

Altri Protocolli di Comunicazione FTP : File Transfer Protocol Il File Transfer Protocol è utilizzato per il trasferimento e la gestione di File attraverso la Rete. Prime specifiche all inizio degli anni 70. Utilizza la porta 21. All interno dei Browser è spesso utilizzato per consentire la navigazione del File System di un Server da Remoto. Un problema Noto E noto che uno dei problemi principali dell FTP è la mancanza di meccanismi di sicurezza; infatti, non essendo i messaggi crittografati, i file trasferiti con l FTP possono 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

Altri Protocolli di Comunicazione TLS : Transport Layer Security Messaggio Crittografato Un Messaggio Crittografato è un codice binario illeggibile, risultato da un algoritmo di elaborazione che trasforma un Messaggio Originale. L algoritmo di elaborazione è invertibile. Sia l Algoritmo di Crittografia che l Algoritmo Inverso del messaggio orginale hanno bisogno di conoscere una chiave comune. La chiave comune rappresenta un codice segreto. Solo chi è a conoscenza della Chiave può applicare l Algoritmo Inverso ed ottenere il Messaggio Originale Il Trasport Layer Security è un protocollo che prevede l applicazione di chiavi crittografiche hai messaggi, per rendere sicuro il trasferimento dei dati. Sul TLS si basano: l HTTPS: una versione di HTTP che usa TLS per rendere la comunicazione più sicura il FTPS: una versione di FTP che usa TLS per rendere la comunicazione più sicura A. Martinelli Architetture Applicative Il Web 18/03/2014 19 / 20

Altri Protocolli di Comunicazione SSH : Secure Shell Il Secure Shell (SSH) è un protocollo di comunicazione che raggiunge due importanti obiettivi: Garantire la sicurezza della comunicazione. Fornire un servizio simile a quello di una Shell Linux, ma operando da remoto. L SSH è molto amato ed utilizzato negli ambienti legati a Server Linux e ai Sistemi Embedded che dispongono di moduli di Rete. Dall SSH deriva l SSH File Transfer Protocol (SFTP) una versione di FTP che usa SSH per garantire la sicurezza. A. Martinelli Architetture Applicative Il Web 18/03/2014 20 / 20