Parte 2: livello Applicazione (http)

Documenti analoghi
Applicazioni e protocolli a livello applicazione

Mezzi trasmissivi. Twisted Pair (TP) Due cavi di rame isolati ed intrecciati

Reti di calcolatori: TCP/IP. Rossano Gaeta Dipartimento di Informatica Università di Torino

Introduzione alle reti di calcolatori: Internet. Rossano Gaeta Dipartimento di Informatica Università di Torino

Introduzione. Sommario: Obiettivo:

Applicazioni e protocolli a livello applicazione

Ritardi nelle reti a commutazione di pacchetto

Programmazione in Rete

Reti di accesso e mezzi trasmissivi

SIP. Bibliografia. o IETF, SIP: Session Initiation Protocol, rfc

Reti di accesso e mezzi trasmissivi

La edge network: end systems (host): modello client/server. modello peer-peer: Eseguono programmi applicativi e.g., WWW, al bordo della rete

Reti di Calcolatori:

Introduzione alle Architetture di Rete

Web e HTTP. path name. host name Realizzato da Roberto Savino.

Livello Applicativo. Application Layer

Livello Applicativo. Application Layer. Parte 1 Principi generali. Cosa vediamo. Parte 1 Principi generali. Parte 2 Il Web e il protocollo HTTP

Livello Applicativo. Application Layer. Parte 1 Principi generali. Cosa vediamo. Parte 1 Principi generali. Parte 2 Il Web e il protocollo HTTP

Servizi di rete e web. Prof. Maurizio Naldi A.A. 2015/16

Livello di applicazione: Web e HTTP

Introduzione. Reti di computer: Esempi. Reti di computer. Reti di computer: Esempi. Obiettivo: Sommario: Condivisione risorse:

Indirizzamento a livello applicazione

Il World Wide Web. Marco Porta - CIM: Web Design & Technologies

Protocolli di strato applicazione

Programmazione in Rete

Livello applicativo. Obiettivi specifici: Protocolli specifici: Obiettivi generali:

WEB: Architettura Client Server

Protocolli strato applicazione in Internet

Reti di Calcolatori AA 2011/2012. Protocolli di applicazione. Livello di applicazione. Capitolo 2: Livello applicazione. Csaba Kiraly Renato Lo Cigno

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 2

IToolS AT commands server. Version /11/2012

Corso di Laurea Specialistica in Ingegneria Informatica Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni

Introduzione a Linux Lezione 8 Gestione della rete

Applicazioni di rete 1

Protocolli applicativi

Ipertesto (testo + link a risorse)

Quale dei seguenti software è opportuno attivare durante il download di un file generico?

Lezione 15. Re9 di Calcolatori Parte II Il livello applica9vo. Tecnologie dei sistemi informa9ci: Basi di Da9 e Re9.

INFORMATICA DISTRIBUITA. lez 5 World Wide Web (cont)

OSOR. Applicazioni di Rete

Parte II: Reti di calcolatori Lezione 6 (30)

Applicazioni web. Sommario. Parte 4 http. http Metodi, intestazioni e codici di stato get post Parametri e cookie. Applicazioni web.

Applicazioni e protocolli application-layer

Il Livello Applicazione

IL LIVELLO APPLICAZIONI WEB e HTTP

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

Casi pratici esempi. http smtp. Copyright Luciano Bononi 2004 (some figure credits to Kurose, Ross, Internet e reti di calcolatori)

Aggiornamento remoto della chiave hardware

Reti di Calcolatori. IL LIVELLO APPLICAZIONI WEB e HTTP

IL LIVELLO APPLICAZIONI WEB e HTTP

IL LIVELLO APPLICAZIONI WEB e HTTP

Parte II: Reti di calcolatori Lezione 6 (30)

Il Protocollo HTTP e il WWW

Via F. Lana, FLERO (BS) Tel Fax gruppo axelera.

Real Time Streaming Protocol. Akshat Sikarwar - Columbia University Traduzione e adattamento di Massimo De Santo, Università di Salerno

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

Che tipo di transport service è necessario per una applicazione? Protocolli application-layer (cont). Applicazioni e protocolli application-layer

Reti di Telecomunicazione Lezione 6

Capitolo 2 - parte 2. Corso Reti ed Applicazioni Mauro Campanella

Protocolli di applicazione

Livello applicativo: protocollo HTTP

Livello applicativo. Obiettivi specifici: ! Protocolli specifici: " http " ftp " smtp " pop " dns " Programmazione di applicazioni

Introduzione a Internet e World Wide Web

Livello applicazione: protocollo HTTP, cookie, web cache

Introduzione. Java HTTP. G. Prencipe

Sicurezza delle applicazioni web: protocollo HTTP

Architettura dell Informazione

PROTOCOLLI APPLICATIVI PER INTERNET

Parte II: Reti di calcolatori Lezione 7 (31)

Client HTTP e Proxy web

INPS. Cassetto Previdenziale aziende ComBid mobile. Manuale utente. Direzione Centrale Sistemi Informativi e Tecnologici.

Reti di computer: Esempi

Lo strato di applicazione in Internet

Sicurezza delle applicazioni web: protocollo HTTP

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

Corso di Laurea in Ingegneria Informatica. Reti di Calcolatori. Livello di applicazione Uso dei socket, il World Wide Web A.A.

KAF Kirey Adempimenti Fiscali Modello 770

La nuova generazione di illuminazione tubolare a risparmio energetico

Reti: cenni storici. Who s who

Introduzione. Obiettivo: Sommario: Introduzione alle reti di telecomunicazioni approccio:

Esercizio 1 : HTTP. Soluzione Esercizio 1 : HTTP

La nuova generazione di illuminazione tubolare a risparmio energetico

Pannello di controllo

Centro di competenza per la progettazione di sistemi dedicati

Protocolli applicativi: FTP

Capitolo 2 - parte 1. Corso Reti ed Applicazioni Mauro Campanella

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche

INPS. Area Aziende. Funzionalità Contatti del Fascicolo elettronico. Manuale Utente Funzionalità Contatti

Corso di Applicazioni Telematiche

Processi dell applicazione, socket e il sottostante protocollo di trasporto. Protocolli application-layer (cont).

Fondamenti di Internet e Reti

Installazione e creazione sito

Metodologie Informatiche Applicate al Turismo

Reti di Calcolatori I. Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Tito Flagella - Il protocollo HTTP

Reti di computer: Esempi

Reti di Calcolatori:

Transcript:

Parte 2: livell Applicazine (http) Obiettivi: Aspetti cncettuali ed implementativi di prtclli di applicazini di rete Paradigma client-server Mdell dei servizi Imparare cncetti sui prtclli esaminand un prtcll a livell applicazine mlt diffus 2: HTTP 1

Applicazini e prtclli a livell applicazine Applicazine: prcessi distribuiti cmunicanti vengn eseguiti sugli hst di rete cme prcessi utente scambi di messaggi per implementare l applicazine e.g., email, ftp, Web Prtclli a livell Applicazine una parte di un applicazine definiscn i messaggi scambiati dall applicazine e le azini intraprese Usan i servizi di cmunicazine frniti da prtclli a livell sttstante (TCP, UDP) applicaz. trasprt rete data link fisic applicaz. trasprt rete data link fisic applicaz. trasprt rete data link fisic 2: HTTP 2

Applicazini di rete: terminlgia Prcess: prgramma in esecuzine in un hst. prcessi in esecuzine su hst diversi (distanti) cmunican cn un prtcll a livell applicazine user agent: prcess sftware, che si interfaccia cn l utente vers l alt e cn la rete vers il bass. implementa il prtcll a livell applicazine Web: brwser E-mail: mail reader streaming audi/vide: media player 2: HTTP 3

Paradigma Client-server Una tipica applicazine di rete si cmpne di due parti: client e server Client: Avvia il cntatt cn il server ( parla per prim ) Slitamente, richiede un servizi al server Web: il client è implementat nel brwser; e-mail: in mail reader Server: applicaz. trasprt rete data link fisic Frnisce il servizi richiest al client e.g., il Web server spedisce la pagina Web richiesta, il mail server recapita l e-mail request reply applicaz. trasprt rete data link fisic 2: HTTP 4

Di quale servizi di trasprt necessita un applicazine? Perdita di dati Alcune applicazini (e.g., audi) pssn tllerare perdite Altre applicazini (e.g., trasferiment file, telnet) richiedn un trasferiment dati affidabile al 100% Time-sensitive Alcune applicazini (e.g., telefnia su Internet, gichi interattivi) richiedn piccli ritardi Larghezza di banda Alcune applicazini (e.g., multimediali) richiedn un ammntare minim di larghezza di banda per essere efficaci Altre applicazini ( applicazini elastiche ) fann us di qualunque larghezza di banda riescn ad ttenere 2: HTTP 5

Requisiti del servizi di Trasprt di applicazini cmuni Applicazine Perdite dati Larghezza di banda Time Sensitive trasferiment file e-mail dcumenti Web real-time audi/vide stred audi/vide gichi interattivi applicazini finanziarie senza senza tllerante tllerante tllerante tllerante senza elastica elastica elastica audi: 5Kb-1Mb vide:10kb-5mb cme spra alcuni Kbps elastica n n n si, alcuni 100 msec si, pchi secs si, alcuni 100 msec si e n 2: HTTP 6

Servizi di trasprt in Internet Servizi TCP: cnnectin-riented: fase iniziale di setup necessaria tra client e server trasprt affidabile tra prcess mittente e destinatari cntrll di fluss: il mittente nn svraccaricherà il ricevitre cntrll di cngestine: reglazine della velcità del mittente quand la rete è svraccarica nn frnisce: tempi, garanzie su larghezza di banda minima Servizi UDP: trasferiment dati nn affidabile tra prcess mittente e prcess destinatari nn frnisce: setup della cnnessine, affidabilità, cntrll di fluss, cntrll di cngestine, tempi larghezza di banda garantiti Dmanda: perché mai esiste UDP? 2: HTTP 7

Applicazini Internet: prtclli a livell applicazine e trasprt Applicazine e-mail access a terminale remt Web trasferiment file streaming multimedia file server remt telefnia su Internet Prtcll a livell applicazine smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] prprietari (e.g. RealNetwrks) NSF prprietari (e.g., Vcaltec) Prtcll a livell trasprt sttstante TCP TCP TCP TCP TCP r UDP TCP r UDP slitamente UDP 2: HTTP 8

Il Web: il prtcll http http: hypertext transfer prtcl Prtcll a livell applicazine per il Web Mdell client/server client: il brwser che richiede, riceve e mstra ggetti Web server: Web server che spedisce ggetti in rispsta ad una richiesta http1.0: RFC 1945 http1.1: RFC 2068-2616 PC che esegue Explrer Mac che esegue Navigatr http request http respnse http request http respnse Server che esegue NCSA Web server 2: HTTP 9

Il WEB: terminlgia pagina WEB (dcument): cllezine di ggetti ggett: un file (HTML, JPEG, ) file HTML base: cn direttive e riferimenti ad altri ggetti URL (Unifrm Resurce Lcatr): meccanism di identificazine risrse. Si cmpne del nme del hst sul quale risiede l ggett e il path-name dell ggett www.di.unit.it/varius/presentatin_en.html nme hst path-name 2: HTTP 10

Il prtcll http http: usa servizi TCP: il client avvia una cnnessine TCP (crea un scket) cn il server, prta 80 il server accetta la cnnessine TCP dal client vengn scambiati messaggi http (messaggi del prtcll di livell applicazine) tra il brwser (client http) ed il Web server (server http) la cnnessine TCP viene chiusa http è stateless il server nn mantiene alcuna infrmazine sulle richieste passate dei client nta I prtclli che mantengn l stat sn cmplessi! Tutta la stria passata della cnnessine (stat) deve essere mantenuta, memrizzata se server client subiscn un crash, la lr cnscenza dell stat può essere incnsistente e deve essere ricstruita 2: HTTP 11

temp http: esempi Suppniam l utente digiti l URL www.smeschl.edu/smedepartment/hme.index 1a. il client http inizia una cnnessine TCP al server http (che è un prcess) all indirizz www.smeschl.edu. La prta 80 è il default per i server http. 2. il client http spedisce il messaggi http request message (cntenente l URL) usand la cnnessine TCP (cntiene test e 10 riferimenti ad immagini jpeg) 1b. il server http sull hst www.smeschl.edu in attesa di cnnessini TCP alla prta 80. accetta la cnnessine, ntificandla al client 3. il server http riceve il messaggi di richiesta, frma un messaggi http respnse message cntenente l ggett richiest (smedepartment/hme.index), e spedisce un messaggi usand la cnnessine TCP 2: HTTP 12

http: esempi (cntinuazine) temp 5. il client http riceve il messaggi di rispsta cntenente il file html e l mstra. Parsifica (analizza) il file html, trva i riferimenti a 10 ggetti jpeg. 6. passi 1-5 si ripetn per gnun dei 10 ggetti jpeg. 4. il server http chiude la cnnessine TCP. 2: HTTP 13

Cnnessini persistenti e nn persistenti Nn persistenti http/1.0: il server parsifica le richieste, rispnde, chiude la cnnessine TCP 2 RTT (rund trip time) per ttenere l ggett cnnessine TCP richiesta/trasferiment ggett Ogni trasferiment risente della bassa velcità iniziale di trasferiment di TCP mlti brwser aprn cnnessini multiple in parallel Persistenti default per http/1.1 usand la stessa cnnessine TCP: il server, parsifica richieste, rispnde, parsifica nuve richieste il client spedisce le richieste per tutti gli ggetti a cui si fa riferiment nn appena riceve il file HTML base. Cn senza pipelining 2: HTTP 14

Frmat dei messaggi http: request due tipi di messaggi http: request, respnse http request message: ASCII (frmat human-readable) request line (cmandi GET, POST, HEAD) linee header GET /smedir/page.html HTTP/1.0 Hst: www.smeschl.edu User-agent: Mzilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr Carriage return, line feed indican la fine del messaggi (extra carriage return, line feed) 2: HTTP 15

http request message: frmat generale 2: HTTP 16

Frmat dei messaggi http: respnse status line (cdice di stat del prtcll frase di stat) dati, e.g., file html richiest linee header HTTP/1.0 200 OK Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Mdified: Mn, 22 Jun 1998... Cntent-Length: 6821 Cntent-Type: text/html data data data data data... 2: HTTP 17

http respnse message: frmat generale versin status cde phrase status line 2: HTTP 18

Cdici di stat per http respnse Nella prima linea del respnse message server->client. Alcuni cdici d esempi: 200 OK richiesta cn success, l ggett richiest segue in quest messaggi 301 Mved Permanently L ggett richiest è stat spstat, la nuva lcazine è specificata dp in quest messaggi (Lcatin:) 400 Bad Request request message nn cmpres dal server 404 Nt Fund Dcument richiest nn trvat su quest server 505 HTTP Versin Nt Supprted 2: HTTP 19

Prvate http (lat client) 1. Cllegatevi cn telnet ad un Web server: telnet www.eurecm.fr 80 Apre una cnnessine TCP sulla prta 80 (prta di default per un http server) su www.eurecm.fr. Qualunque csa si digiti viene spedita sulla prta 80 a www.eurecm.fr 2. Digitate un http request GET: GET /~rss/index.html HTTP/1.0 Digitand quest (digitate due vlte carriage return), spedite un minimale (ma cmplet) GET request al server http 3. Guardate il respnse message spedit dal server http! 2: HTTP 20