Metodologie Informatiche Applicate al Turismo

Documenti analoghi
Metodologie Informatiche Applicate al Turismo

Protocolli applicativi: FTP

Metodologie Informatiche Applicate al Turismo

Architettura dell Informazione

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

Metodologie Informatiche Applicate al Turismo

Corso di Web Programming

Reti di Calcolatori. Il Livello delle Applicazioni

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Dal protocollo IP ai livelli superiori

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

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

OSOR. Applicazioni di Rete

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

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

Modulo 1: Posta elettronica

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita

MANUALE UTENTE FORMULA PEC

Architetture Web Protocolli di Comunicazione

Informatica per la comunicazione" - lezione 8 -

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

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

Standard di comunicazione

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

Le Reti Informatiche

Reti di Telecomunicazione Lezione 6

URI. Introduzione. Pag. 1

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

ARP (Address Resolution Protocol)

TCP/IP: INDIRIZZI IP SIMBOLICI

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

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

Posta Elettronica e Web

Informatica. Prof. M. Colajanni Università di Modena Reggio Emilia

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

Protocolli per le . Impianti Informatici. Protocolli applicativi

appunti delle lezioni Architetture client/server: applicazioni client

Reti di Telecomunicazione Lezione 7

Reti di calcolatori. Reti di calcolatori

InterNet: rete di reti

Software di gestione della stampante

Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, Pisa

Informatica per la comunicazione" - lezione 9 -

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

Lo scenario: la definizione di Internet

Reti di Telecomunicazione Lezione 8

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Comunicazione nel tempo

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

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

PROTOCOLLI APPLICATIVI PER INTERNET

Consiglio Nazionale delle Ricerche Area di Ricerca di Bologna Istituto per le Applicazioni Telematiche di Pisa

Il funzionamento delle reti

Internet: architettura e servizi

Internet: architettura e servizi

Configurazione di Outlook Express

Aspetti SW delle reti di calcolatori. L architettura del sistema. La struttura di Internet 22/04/2011

GRUPPO CAMBIELLI. Posta elettronica (Webmail) Consigli di utilizzo

Internet Architettura del www

Il funzionamento delle reti

Reti e Internet: introduzione

Network Services Location Manager. Guida per amministratori di rete

Architettura client-server

Manuale Gestore. STWS Web Energy Control - Servizio di telelettura sul WEB

Sicurezza delle applicazioni web: protocollo HTTP

Il World Wide Web: nozioni introduttive

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

Lezione n 1! Introduzione"

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Il Web Server e il protocollo HTTP

Architetture Applicative Il Web

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

Servizio di Posta elettronica Certificata (PEC)

Servizio di Posta elettronica Certificata (PEC)

Posta elettronica DEFINIZIONE

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

prof. Mario Dalessandro

Reti diverse: la soluzione nativa

La posta elettronica parte 1^

- Corso di computer -

Livello Applicazione. Davide Quaglia. Motivazione

Il seguente Syllabus è relativo al Modulo 7, Reti informatiche, e fornisce i fondamenti per il test di tipo pratico relativo a questo modulo

E-Post Office Manuale utente

RETI E SISTEMI INFORMATIVI Domain Name System. Prof. Andrea Borghesan

Parte II: Reti di calcolatori Lezione 9

Altro esempio di HTML

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

Il Livello delle Applicazioni

Livello di Applicazione in Internet

PEC. Posta Elettronica Certificata. securepec.com

Capitolo 16 I servizi Internet

Configurazione client di posta elettronica per il nuovo servizio . Parametri per la Configurazione dei client di posta elettronica

Metodologie Informatiche Applicate al Turismo

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Posta Elettronica & P.E.C.

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

SS SISTEMI DI COMUNICAZIONE: C O PROTOCOLLI APPLICATIVI

Transcript:

Metodologie Informatiche Applicate al Turismo 6. - Protocolli a livello applicazione usati su Internet Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Scienze del Turismo A.A. 2014/2015 Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 1 / 31

I protocolli di Internet Il funzionamento di Internet si basa sulla struttura a livelli detta architettura TCP/IP (qui confrontata con il modello OSI): VII Applicazione Applicazioni Internet VI Presentazione = (Telnet, FTP, V Sessione SMTP, HTTP,...) IV Trasporto = Trasporto (TCP, UDP) III Rete = Internet (IP) II Collegamento = Host-to-Network I Fisico (Ethernet, Wlan,...) Modello OSI Architettura TCP/IP Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 2 / 31

I protocolli a livello applicazione Applicazioni Internet (Telnet, FTP, SMTP, HTTP,...) Trasporto (TCP, UDP) Internet (IP) Link (Ethernet, Wlan,...) I protocolli di livello applicazione si dividono in due categorie: Protocolli di applicazione vera e propria (e.g. SMTP, HTTP, telnet, FTP, etc...) che forniscono il servizio agli utenti finali Protocolli di servizio (e.g. DNS) forniscono servizi alle applicazioni usate dagli utenti Questi protocolli utilizzano TCP/IP come strumento di comunicazione affidabile tra nodi della rete. Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 3 / 31

I protocolli a livello applicazione Vediamo un esempio di protocolli a livello applicazione: I protocolli per la posta elettronica (SMTP, POP3 e IMAP) Tutti questi protocolli si scambiano messaggi testuali e definiscono: Formato e significato dei messaggi di testo Regole per l invio e la ricezione di tali messaggi Tutti gli aspetti più tecnici (conversione in binario, instradamento sulla rete, controllo degli errori di trasmissione, ecc...) sono risolti a livello più basso da TCP/IP Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 4 / 31

Protocolli per la posta elettronica La posta elettronica è basata sull applicazione di 3 protocolli di VII livello: Simple Mail Transport Protocol (SMTP): trasporta un messaggio di posta elettronica dal computer del mittente fino alla casella di posta del destinatario (nel disco fisso del server del destinatario); Post Office Protocol ver. 3 (POP3) e Internet Message Access Protocol ver. 4 (IMAP4): consentono al destinatario di accedere alla propria casella di posta (sul proprio server) per scaricare la posta ricevuta Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 5 / 31

Il protocollo SMTP (1) SMTP è un protocollo text-based per lo scambio di messaggi di posta elettronica. Una connessione SMTP è composta da una apertura, una sequenza di comandi, e una chiusura. Ad ogni comando corrisponde una risposta composta da un codice numerico (per le applicazioni) e una stringa leggibile (per gli umani). MAIL FROM: Smith@alpha.com 250 OK RCPT TO: Green@alpha.com 550 No such user here Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 6 / 31

Esempio di scambio di messaggi tra un client (programma di posta elettronica, in blu) e il server SMTP del mittente (in rosso) La spedizione di un messaggio SMTP avviene attraverso l identificazione del mittente (MAIL FROM), del/dei destinatari (RCPT TO), e del messaggio da trasmettere (DATA): 220 alpha.com Simple Mail Transfer Service Ready HELO beta.com 250 alpha.com says: Nice to meet you beta.com MAIL FROM: Smith@alpha.com 250 OK RCPT TO: Green@alpha.com 550 No such user here RCPT TO: Brown@alpha.com 250 OK DATA 354 Start mail input; end with CRLF. CRLF Blah blah blah... etc. etc. etc.. 250 OK QUIT 250 alpha.com Service closing transmission channel

Il protocollo SMTP (3) Il protocollo SMTP ha alcune forti limitazioni: Assume che si trasmettano messaggi di testo; La lunghezza massima di un messaggio è di 1MB; I caratteri accettati sono solo ASCII a 7 bit (lettere, numeri, semplici simboli,...), quindi ignora un bit in ogni byte Ogni messaggio deve avere un CRFL (un carattere a capo ) ogni 1000 caratteri o meno (alcune antiche implementazioni lo aggiungevano automaticamente se non lo trovavano). Questi limiti impediscono la trasmissione di documenti binari: Un file binario (pdf, immagine, file zip...) usa tutti i bit di byte; Un file binario può facilmente essere più lungo di 1MB; In un file binario la sequenza di bit che corrisponde al carattere a capo può avere un altro significato, e può esserci o mancare senza vincoli. Introdurla artificialmente può corrompere il file. Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 8 / 31

Estensioni del protocollo SMTP: MIME (1) I limiti di SMTP sono comunemente superati attraverso l uso delle estensioni MIME (Multipurpose Internet Mail Extensions) MIME ridefinisce il formato del corpo di un messaggio SMTP per permettere (tra le altre cose): Messaggi di testo in altri set di caratteri al posto di ASCII; Un insieme estensibile di formati (tipi) per messaggi non testuali (allegati delle email); Il problema di determinare il tipo di un contenuto non testuale è comune a molti protocolli a livello applicazione. MIME viene utilizzato anche in altri contesti (e.g. WWW) Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 9 / 31

Estensioni del protocollo SMTP: MIME (2) Come funziona MIME: 1 Il messaggio non compatibile con SMTP viene trasformato in uno o più messaggi SMTP da un preprocessore al server SMTP; 2 All arrivo, il (o i) messaggi SMTP vengono decodificati e riaccorpati a formare il messaggio originale. Ancora oggi, quelli che viaggiano su canali SMTP sono puri messaggi SMTP con gli stessi limiti di allora. Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 10 / 31

Estensioni del protocollo SMTP: MIME (3) La specifica di MIME include aspetti riguardanti la codifica dei caratteri non in formato ASCII, la frammentazione di messaggi non SMTP in SMTP e il successivo riaccorpamento, ecc... L aspetto di MIME che trova applicazione in altri contesti (e.g. WWW) è il concetto di Content-type (o tipo MIME) Un tipo MIME definisce uno specifico tipo per un contenuto associandogli un identificatore di media type e un identificatore di subtype (rappresentati così: mediatype/subtype). Il media type dichara il tipo generale del dato trasmesso Il subtype dichiara il formato specifico del dato trasmesso Ad esempio: il tipo MIME text/plain identifica testo semplice; il tipo MIME text/html identifica testo html; il tipo MIME image/gif identifica immagini in formato GIF; il tipo MIME video/mpeg identifica video in formato MPEG. Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 11 / 31

Estensioni del protocollo SMTP: MIME (4) I client di posta elettronica (e similmente le altre applicazioni e.g. i browser che usano tipi MIME) possono essere configurati per inoltrare i contenuti di un certo tipo (o sottotipo) ad altre applicazioni Ad esempio: inoltrare tutti i contenuti di tipo text/pdf al programma Adobe Reader inoltrare tutti i contenuti di tipo image ad un visualizzatore di immagini, indipendentemente dal sottotipo I tipi MIME sono in continua evoluzione: La lista dei tipi MIME è mantenuta e costantemente aggiornata dall Internet Assigned Numbers Authority (IANA) Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 12 / 31

I protocolli POP3 e IMAP4 SMTP si occupa di recapitare un messaggio di posta elettronica nel disco fisso del server del destinatario Allo stesso modo in cui un postino recapita la posta nella cassetta della posta Per consultare la posta ricevuta (cioè, per andare a ritirare la posta da dento la cassetta) esistno due protocolli altenativi: POP3 permette ad un programma di posta eletronica di accedere alla mailbox posta su un server, consentendo soltanto la possibilità di scaricare e cancellare mail (e poco altro) IMAP4 consente a un programma di posta elettronica di effettuare operazioni più sofisticate sulla casella di posta elettronica. Ad esempio: leggere i messaggi senza scaricarli (favorisce l accesso da diverse postazioni) e creare cartelle sul server in cui suddividere i messaggi ricevuti Il protocollo POP3 è sempre meno usato... Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 13 / 31

Internet e il WWW (1) Il WWW usa solo alcuni dei servizi che l infrastruttura di Internet mette a disposizione. I principali sono: L indirizzamento delle risorse: tramite URL (e.g. http://www.di.unipi.it) La risoluzione degli indirizzi: traduzione di indirizzi testuali tipo www.di.unipi.it nei corrispondenti indirizzi IP tramite DNS; La gestione dei tipi di contenuti: tramite MIME; Il trasferimento dei contenuti: tramite il protocollo di comunicazione a livello applicazione HTTP. Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 14 / 31

Internet e il WWW (2) Vediamo dove DNS, MIME e HTTP vengono utilizzati in un tipico utilizzo del WWW: Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 15 / 31

Indirizzare le risorse: URL URL (Uniform Resource Locator) è una sintassi standard per la definizione di indirizzi sulla rete; Un URL consiste di due parti (separate da :) una indicazione (detta scheme) del protocollo di comunicazione da utilizzare per accedere all indirizzo descritto l indirizzo vero e proprio (nome di dominio) Tra gli scheme abbiamo ad esempio: http per gli indirizzi di pagine web https per gli indirizzi di pagine web accessibili tramite HTTP sicuro mailto per gli indirizzi di posta elettronica ftp per gli indirizzi di file da scaricare Esempi di URL: http://www.di.unipi.it/ milazzo/ mailto:milazzo@di.unipi.it ftp://fileserver.di.unipi.it:/public/slides.pdf Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 16 / 31

Nomi e indirizzi: il DNS (1) I computer su Internet sono identificati dal loro indirizzo IP; Nel contesto del WWW è molto più comune utilizzare nomi di dominio (e.g. www.di.unipi.it) anzichè indirizzi IP; Il Domain Name System (DNS) è un servizio di naming globale che traduce nomi di dominio in indirizzi IP. L utilizzo di nomi di dominio anzichè indirizzi IP offre due vantaggi: I nomi di dominio sono più facilmente leggibili e utilizzabili dagli utenti degli indirizzi IP; I nomi di dominio offrono un livello di astrazione: se si riorganizza una rete cambiando alcuni indirizzi IP è sufficiente aggiornare il DNS per rendere il cambiamento invisibile agli utenti. Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 17 / 31

Nomi e indirizzi: il DNS (2) Il DNS può essere visto come un elenco telefonico globale in cui i nomi anziché essere in ordine alfabetico hanno una struttura gerarchica I domini di primo livello sono sigle di nazioni (e.g. it,uk,fr,...) o domini generici (e.g. com,edu,org,...); I domini di livello inferiore sono indicati da destra a sinistra separati da punti: e.g. in www.di.unipi.it it è il dominio di primo livello; unipi è il dominio di secondo livello attribuito all Università di Pisa di è il dominio di terzo livello attribuito al Dipartimento di Informatica; www è il nome convenzionale del computer che ospita il web server in un dominio. Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 18 / 31

Nomi e indirizzi: il DNS (3) La risoluzione di un nome di dominio tramite DNS funziona come segue: Ogni computer collegato a Internet ha un server DNS di riferimento (default DNS, fornito dal fornitore di collegamento a Internet); Quando un computer deve risolvere un nome lo inoltra al proprio server DNS di riferimento; Se il server DNS non conosce l indirizzo IP corrispondente al nome richiesto inoltra la richiesta a un root server (un server DNS che conosce gli indirizzi dei server DNS responsabili dei domini di primo livello); Il server DNS invia ora la richiesta al server responsabile del dominio di primo livello dell indirizzo richiesto; Tale server fornisce la risposta richiesta, oppure fornisce l indirizzo del server DNS del dominio di secondo livello di interesse; Il procedimento continua finchè la richiesta non riceve risposta. I vari server DNS possono fare uso di tecniche di caching (memorizzazione) delle informazioni scambiate per evitare successivamente di ripetere tutti questi passaggi Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 19 / 31

Nomi e indirizzi: il DNS (4) Un esempio (ricerca dell indirizzo IP di www.kernel.org): Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 20 / 31

Descrivere il tipo di un contenuto: MIME Come nel caso della posta elettronica, anche per il WWW si usa MIME per distinguere tra diversi tipi di contenuto; In questo caso il browser si occuperà di redirigere documenti che non sa visualizzare ad applicazioni specifiche selezionate a seconda del tipo MIME ricevuto (tramite HTTP, come vedremo). Questo fa si, ad esempio, che quando si scarica un file PDF, si apra automaticamente il programma che consente di visualizzare tale documento Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 21 / 31

Il protocollo HTTP (1) L HyperText Transfer Protocol (HTTP 1.1) è un protocollo di comunicazione client-server: per la richiesta e la trasmissione di pagine web (e non solo) basato su un servizio di trasporto affidabile e orientato alle connessioni (TCP) Prevede messaggi testuali che consentono: A un client (il browser) di richiedere a un server (il sito) di inviare una certa pagina web A un server (il sito) di rispondere a una richiesta inviando un documento HTML che descrive la pagina (e/o altro, se serve) Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 22 / 31

Il protocollo HTTP (2) Il protocollo HTTP, oltre alle figure del client e del server, può prevedere la presenza di intermediari, tra cui i proxy. Un proxy: è un programma che riceve richieste HTTP dai client (opportunamente configurati: l indirizzo di un eventuale proxy va indicato nel browser) e le inoltra ai server web; può applicare tecniche di caching dei contenuti ricevuti dai server per soddisfare autonomamente successive richieste dei client (senza contattare nuovamente i server); può applicare filtri ai contenuti ricevuti (e.g. parental control). Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 23 / 31

Il protocollo HTTP (3) Il protocollo HTTP: E stateless (senza stato): il risultato di una richiesta non può dipendere da richieste precedenti; Costringe lo sviluppatore di siti web a trovare metodi alternativi per memorizzare una forma di stato (e.g. cookies). Un messaggio di richiesta HTTP è costituito da: Una riga di richiesta che contiene un metodo (descrizione del tipo di richiesta), un URL e l indicazione della versione di HTTP utilizzata; Una sezione di header (contenente informazioni varie) Il corpo del messaggio Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 24 / 31

Il protocollo HTTP (3) Il metodo può essere uno dei seguenti: GET: per richiedere al server l invio della risorsa indicata nell URL; POST: per inviare informazioni al server; HEAD: simile a GET, richiede al server l invio di informazioni sulla risorsa indicata nell URL (non la risorsa stessa); PUT: per richiedere al server di sostituire una risorsa specificata con un altra; DELETE: per richiedere al server di cancellare una risorsa; TRACE: per ricostruire la sequenza di intermediari tra il client e il server; OPTIONS: per ottenere informazioni sulle opzioni di comunicazione. I metodi più comuni (e i soli che approfondiremo) sono GET e POST. Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 25 / 31

Il protocollo HTTP (4) Il metodo GET: è il metodo più comune, che viene utilizzato ogni volta, ad esempio, che si segue un link in una pagina web o che si inserisce un indirizzo in un browser; serve per richiedere al server l invio di una pagina web indicata nell URL nell header del messaggio: può porre condizioni sul formato (e.g. lingua della pagina) o le caratteristiche della pagina (dimensioni, data ultimo aggiornamento, ecc..) può inviare al server informazioni addizionali (e.g. browser e sistema operativo utilizzato, pagina di provenienza) nel corpo del messaggio: nulla... Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 26 / 31

Il protocollo HTTP (5) Esempio di richiesta che usa il metodo GET: GET www.di.unipi.it/index.html HTTP/1.1 Referer: http://www.google.it/#q=informatica+unipi User-Agent: Mozilla/4.61 (Macintosh; I; PPC) Accept-language: en Richiede al server l invio della pagina www.di.unipi.it/index.html. La richiesta è stata generata seguendo un link ottenuto da una ricerca su google (pagina di provenienza), usando il browser Firefox versione 4.61 su un computer Apple. Si richiede inoltre di inviare la versione inglese della pagina. Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 27 / 31

Il protocollo HTTP (6) Il metodo POST: Viene usato per trasmettere delle informazioni dal client al server; Esempio tipico di informazione trasmessa: i dati inseriti dall utente in un modulo (form) in una pagina web; I dati trasmessi vengono inseriti nel corpo del messaggio; I dati vengono passati alla risorsa (e.g. di solito un programma capace di elaborare i dati ricevuti) specificata dall URL. Esempio di richiesta che usa il metodo POST (invio username e password): POST www.di.unipi.it/login.php HTTP/1.1 User-Agent: Mozilla/4.61 (Macintosh; I; PPC) username=milazzo&password=12345678 Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 28 / 31

Il protocollo HTTP (7) Un messaggio di risposta a una richiesta di un contenuto è costituito da: Una riga di stato (status-line) che contiene un codice e una breve descrizione dell esito della richiesta; Una sezione di header (che riporta informazioni varie) Il corpo del messaggio di risposta (che contiene di solito il documento HTML richiesto) Le righe di stato più comuni includono: 200 Ok metodo eseguito con successo 400 Bad request errore sintattico nella richiesta 403 Forbidden richiesta non autorizzabile 404 Not found URL errato (molto comune) 500 Internal server error Errore interno (comune con siti web dinamici) L header di una risposta a GET include anche il tipo MIME del dato trasmesso Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 29 / 31

Il protocollo HTTP (8) Un esempio di richiesta (semplificata): GET www.alpha.com/beta.html HTTP/1.1 E relativa risposta: HTTP/1.1 200 OK Date: Mon, 28 Jun 2004 10:47:31 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 Last-Modified: Mon, 12 Jun 2004 11:32:12 GMT Content-Language: it Content-Type: text/html; charset=utf-8 <HTML>... Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 30 / 31

Il protocollo HTTP (9) HTTP trasmette tutti i dati in chiaro; Esiste una versione di HTTP per comunicazioni che richiedono crittografia: HTTPS HTTPS: utilizza TCP e SSL (crittografia) per trasmettere i soliti messaggi HTTP; usa lo schema https: al posto di http: negli indirizzi. Paolo Milazzo (Università di Pisa) MetInf - 6. Prot. Applicazione A.A. 2014/2015 31 / 31