Il Protocollo HTTP e il WWW

Размер: px
Начинать показ со страницы:

Download "Il Protocollo HTTP e il WWW"

Транскрипт

1 Web Il Protocollo HTTP e il WWW Gianluigi Ferrari Diparnto di Informatica Università di Pisa Pagina Web: Insieme di objects Indirizzo tramite URL. URL: Unifor Resource Locator è l indirizzo di rete di una risorsa (Network Reference) nome host + path: ml User agent = browser: MS Internet Explorer Netscape Communicator Server = Web : Apache (public domain) MS Internet Information Server 1 2 HTTP HTTP http: hypertext transfer protocol Protocollo del WEB Modello / : browser che richiede oggetti WEB : Web invia gli oggetti WEB http1.0: RFC 1945 http1.1: RFC 2068 PC running Explorer Mac running Navigator Server running NCSA Web http: basato su TCP: attiva una connessione TCP (crea il socket) verso il (porta 80) accetta la richiesta TCP del Avviene lo scambio di msg http (application-layer protocol messages) tra il browser (http ) e il Web (http ) Si chiude la. http è senza memoria stateless non ha informazioni di stato sulle richieste passate problema Protocolli con stato sono complicati! Gestione dello stato Fallimenti 3 4 1

2 Connessioni HTTP Non Persistenti Un oggetto viene trasmesso su una. HTTP/1.0: nonpersistent HTTP Persistenti Un insieme di oggetti possono essere scambiati sulla stessa HTTP/1.1: persistent connections -- default mode 5 HTTP: Esempi Supponiamo di voler aprire una pagina con indirizzo (testo e riferimenti a 10 oggetti JPEG) 1a. http () richiede una con il WEB all indirizzo La porta 80 è la porta di default per I http. 2. http () invia un messaggio di richiesta (con la URL) nella 1b. http () all indirizzo è in attesa sulla porta 80. Accetta la richiesta di connessione 3. http () riceve la richiesta e invia il messaggio di risposta con l informazione richiesta (la pagina WEB somedepartment/home.index), sulla 6 Esempio (cont.) Round Trip Time -- RTT 5. http () riceve la risposta con il file html. Parsing del file html si trovano i 10 riferimenti agli oggetti jpeg 6. Si ripetono i passi 1-5 per tutti gli oggetti JPEG 4. http () chiude la. 7 RRT: tempo necessario a nchè un pacchetto di controllo e etti un gro completo senderreceiver-sernder. Tempi di risposta: 1 RTT per attivare la 1 RTT per la richiesta HTTP ed I primi byte di risposta file transmission total = 2RTT+transmit initiate TCP connection RTT request file RTT file received to transmit file 8 2

3 Connessioni persistenti e nonpersistenti Non-persistenti HTTP/1.0 Server: valutare la richiesta, inviare la risposta, chiudere la 2 RTT per scaricare un oggetto Persistenti default per la versione HTTP/1.1 Server utilizza la stessa connessione TCP per valutare la richiesta, inviare la risposta, chiudere la connessione Client invia le richieste subito dopo aver determinato l indirizzo (minore RTT). 9 Connessioni HTTP Nonpersistent HTTP: richiede 2 RTTs per oggetto Allocazione delle risorse per ogni Ma spesso I brower aprono connessioni parallele Persistent HTTP lascia le connessioni aperte dopo aver inviato la risposta Messaggi consecutivi utilizzano la stessa connessione Persistent without pipelining: e ettua una richiesta solamente dopo aver ricevuto la risposta della richieste precedente Persistent with pipelining: default -- HTTP/1.1 Il e invia una richiesta non appena incontra un riferimento 10 http: formato dei messaggi http: formato dei messaggi Due tipi di messaggi htpp: request, response : ASCII request line (GET, POST, HEAD commands) header lines GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr Carriage return, (carriage return, line feed) line feed: Indicano la fine del messaggio

4 http: messaggi di response http : codice di risposta status line (protocol status code status phrase) data, e.g., file html header lines HTTP/ OK Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun Content-Length: 6821 Content-Type: text/html data data data data data Esempi: 200 OK request succeeded, requested object later in this message 301 Moved Permanently requested object moved, new location specified later in this message (Location:) 400 Bad Request request message not understood by 404 Not Found requested document not found on this 505 HTTP Version Not Supported 14 POST Method POST Requests What browers submits in when a form is submitted to the Stylized way of passing form data 2 ways to encode form data: Fat URL via GET for older systems that didn t support POST POST method Most commonly used by browsers to send large form responses to s Forms are web pages that contain fields that the browser user can edit or change

5 POST Requests (cont d) Example: Client POST request POST /index.html HTTP/1.1 language=any&message=this+is+a+message+to +the++being+sent+by+the+browser+with +a+post+request POST /cgi-bin/rats.cgi HTTP/1.0 Referer: Connection: Keep-Alive User-Agent: Mozilla/4.73 [en] (X11; U; Linux i686) Host: nes:8192 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso ,*,utf-8 Content-type: application/x-www-form-urlencoded Content-length: 93 Account=cs111fall&First=richard&Last=martin&SSN= &Bday= &.State=CreateAccount HTTP Method types attiva una (crea il socket) verso il (porta 80) accetta la richiesta TCP del Avviene lo scambio di msg http (GET, POST, HEAD) tra il browser (http ) e il Web (http ) Si chiude la (v 1.0) oppure la connessione rimane aperta (v 1.1) 19 HTTP/1.0 GET POST HEAD asks to leave requested object out of response HTTP/1.1 GET, POST, HEAD PUT uploads file in entity body to path specified in URL field DELETE deletes file specified in the URL field 20 5

6 Una piccola esercitazione HTTP in context 1. Telnet Web : telnet 80 Apertura di una All indirizzo Sulla porta 80 Client W.X.Y.Z cc = socket(a.b.c.d, 80); out.print( GET /newaccount.html http/1.0) ); Server A.B.C.D:80 ss= Socket(port 80); sc = ss.accept; 2. Operazione di GET: GET /~ross/index.html HTTP/ Valutate la risposta ottenuta! Tasto di invio (due volte) si effettua la richiesta http 21 Time read header read input display HTML read input from socket parse header read data find resource build response header send resource write to socket 22 Autenticazione Cookies: informazioni di stato Autenticazione: meccanismo di controllo degli accessi ai documenti del stateless: i devono richiedere l autorizzazione ad ogni accesso autorizzazione: login con password authorization: header line nel msg di richiesta Senza l autorizzazione il rifiuta la richiesta di connessione WWW authenticate: header line nel msg di risposta 401: authorization req. WWW authenticate: + Authorization:line msg + Authorization:line msg 23 Four components: 1) cookie header line in the HTTP response message 2) cookie header line in HTTP request message 3) cookie file kept on user s host and managed by user s browser 4) back-end database at Web site Example: Susan access Internet always from same PC She visits a specific e- commerce site for first When initial HTTP requests arrives at site, site creates a unique ID and creates an entry in backend database for ID 24 6

7 Cookies Cookies Cookie file ebay: 8734 Cookie file amazon: 1678 ebay: 8734 one week later: usual usual + Set-cookie: 1678 usual cookie: 1678 usual msg creates ID 1678 for user cookiespecific action entry in backend database access access What cookies can bring: authorization shopping carts recommendations user session state (Web ) Cookies and privacy: cookies permit sites to learn a lot about you search engines use redirection & cookies to learn yet more Cookie file amazon: 1678 ebay: 8734 usual cookie: 1678 usual msg cookiespectific action Cookies Conditional GET invia un cookie al e Set-cookie: utilizza il cookie nel seguito dell interazione cookie: controlla se il cookie è corretto authentication Permette di ricordare le preferenze dell utente + Set-cookie: # cookie: # msg cookie: # msg cookieaction cookieaction 27 Caching : nel msg specifica la data della copia del dato nella cache If-modified-since: <date> : risponde in base a questa informazione HTTP/ Not Modified If-modified-since: <date> HTTP/ Not Modified If-modified-since: <date> HTTP/ OK <data> oggetto non modificato oggetto modificato 28 7

8 Web Caches (proxy ) browser: accesso al Web mediato da una web cache invia le richieste alla web cache Se l oggetto è presente nella WEB cache si invia la direttamente la risposta Altrimenti si invia la richiesta al (remoto) Proxy origin origin 29 Ipotesi: cache è nella stessa sottorete dei i Diminuzione dei tempi di risposta Minore tra co LAN public Internet 1.5 Mbps link 10 Mbps LAN Proxy - cache s 30 8

Programmazione in Rete

Programmazione in Rete Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi [email protected] Orario di ricevimento: mercoledì ore 10-12 Sommario della

Подробнее

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif Web e HTTP Terminologia Una pagina web consiste di oggetti Un oggetto può essere un file HTML, una immagine JPG, ecc. Una pagina web consiste di un file HTML base che fa riferimento a diversi oggetti al

Подробнее

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

Livello applicativo. Obiettivi specifici: Protocolli specifici: Obiettivi generali: Livello applicativo Obiettivi generali: Aspetti concettuali/ implementativi dei protocolli applicativi Paradigma client server Modelli dei servizi Obiettivi specifici: Protocolli specifici: http ftp smtp

Подробнее

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

Capitolo 2 - parte 2. Corso Reti ed Applicazioni Mauro Campanella Capitolo 2 - parte 2 Corso Reti ed Applicazioni Mauro Campanella La nascita del World Wide Web L idea fu nel 1989 di Tim Berners Lee, fisico del CERN di Ginevra. Vi era la necessità di far collaborare

Подробнее

Tito Flagella - Il protocollo HTTP

Tito Flagella - Il protocollo HTTP Tito Flagella - [email protected] Il protocollo HTTP Il protocollo HTTP È il protocollo standard tramite il quale i server Web rispondono alle richieste dei client (inizialmente i browser); È basato su un modello

Подробнее

Applicazioni e protocolli a livello applicazione

Applicazioni e protocolli a livello applicazione Applicazioni e protocolli a livello applicazione Applicazione: processi distribuiti comunicanti vengono eseguiti sugli host di rete come processi utente scambio di messaggi per implementare l applicazione

Подробнее

Livello applicazione: protocollo HTTP

Livello applicazione: protocollo HTTP Livello applicazione: protocollo HTTP Reti di Elaboratori Corso di Laurea in Informatica Università degli Studi di Roma La Sapienza Prof.ssa Gaia Maselli Parte di queste slide sono state prese dal materiale

Подробнее

Sicurezza delle applicazioni web: protocollo HTTP

Sicurezza delle applicazioni web: protocollo HTTP Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Sicurezza delle applicazioni web: protocollo HTTP Alessandro Reina Aristide Fattori

Подробнее

Il Livello Applicazione

Il Livello Applicazione Il Livello Applicazione Principali Obiettivi: Aspetti concettuali implementativi dei protocolli di rete del livello applicazione paradigma client server Modelli di servizio Impareremo a conoscere i protocolli

Подробнее

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

Casi pratici esempi. http smtp. Copyright Luciano Bononi 2004 (some figure credits to Kurose, Ross, Internet e reti di calcolatori) Livello Applicazione obiettivo: Aspetti implementativi e di uso dei protocolli di livello applicazione paradigma client Modelli di servizio Vediamo esempi di come funzionano le applicazioni su rete Casi

Подробнее

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

Livello applicativo. Obiettivi specifici: ! Protocolli specifici:  http  ftp  smtp  pop  dns  Programmazione di applicazioni Livello applicativo Obiettivi generali:! Aspetti concettuali/ implementativi dei protocolli applicativi " Paradigma client " Modelli dei servizi Obiettivi specifici:! Protocolli specifici: " http " ftp

Подробнее

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

Servizi di rete e web. Prof. Maurizio Naldi A.A. 2015/16 Servizi di rete e web Prof. Maurizio Naldi A.A. 2015/16 Applicazione Unità di trasmissione dati a livello applicazione Applicazione Presentazione Unità di trasmissione dati a livello presentazione Presentazione

Подробнее

Sicurezza delle applicazioni web: protocollo HTTP

Sicurezza delle applicazioni web: protocollo HTTP Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2009/2010 Sicurezza delle applicazioni web: protocollo HTTP Roberto Paleari [email protected]

Подробнее

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

Esempi di applicazioni internet. WEB Trasferimento File Posta Elettronica Sistema dei nomi di dominio (DNS) Esempi di applicazioni internet WEB Trasferimento File Posta Elettronica Sistema dei nomi di dominio (DNS) 17 Il Web: terminologia Pagina Web: consiste di oggetti indirizzati da un URL (Uniform Resource

Подробнее

Protocolli di applicazione

Protocolli di applicazione Reti di Calcolatori AA 2011/2012 http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks Protocolli di applicazione Csaba Kiraly Renato Lo Cigno Livello di applicazione A note on the use

Подробнее

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

Processi dell applicazione, socket e il sottostante protocollo di trasporto. Protocolli application-layer (cont). Il Livello Applicazione Applicazioni e protocolli -layer Principali Obiettivi : Aspetti concettuali implementatividei protocolli di retedel livello applicazione paradigma Modelli di servizio Impareremo

Подробнее

OSOR. Applicazioni di Rete

OSOR. Applicazioni di Rete OSOR Applicazioni di Rete 1 Client-Server in Sistemi Distribuiti Host A Host B Client TCP/UDP IP Network Interface Internet Risultati Server TCP/UDP IP Network Interface Richiesta Applicazioni di Rete

Подробнее

Protocollo HTTP. Alessandro Sorato

Protocollo HTTP. Alessandro Sorato Un protocollo è un insieme di regole che permettono di trovare uno standard di comunicazione tra diversi computer attraverso la rete. Quando due o più computer comunicano tra di loro si scambiano una serie

Подробнее

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Подробнее

Sicurezza delle applicazioni web: protocollo HTTP

Sicurezza delle applicazioni web: protocollo HTTP Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2010/2011 Sicurezza delle applicazioni web: protocollo HTTP Alessandro Reina, Aristide Fattori 05 Maggio

Подробнее

Il protocollo HTTP e HTTPS

Il protocollo HTTP e HTTPS Il protocollo HTTP e HTTPS Guida Apache di Openskills Introduzione al protocollo HTTP Il protocollo HTTP (Hyper Text Transfer Protocol) viene usato da tutti i client e server web e gestisce il modo con

Подробнее

Architetture Web Protocolli di Comunicazione

Architetture Web Protocolli di Comunicazione Architetture Web Protocolli di Comunicazione Alessandro Martinelli [email protected] 10 Maggio 2011 Architetture Web Architetture Web Protocolli di Comunicazione Il Client Side Il Server Side

Подробнее

Stack protocolli TCP/IP

Stack protocolli TCP/IP Stack protocolli TCP/IP Application Layer Transport Layer Internet Layer Host-to-Nework Layer DNS SMTP Telnet HTTP TCP UDP IP Insieme di eterogenei sistemi di rete... 1 Concetti base Differenza tra i concetti

Подробнее

Architetture Applicative Il Web

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

Подробнее

Il protocollo HTTP. Caratteristiche del protocollo HTTP. Versioni del protocollo. Due tipologie di messaggi:

Il protocollo HTTP. Caratteristiche del protocollo HTTP. Versioni del protocollo. Due tipologie di messaggi: Caratteristiche del protocollo HTTP Scambio di messaggi di richiesta e risposta Transazione HTTP o Web Protocollo stateless Il protocollo HTTP Basato sul meccanismo di naming degli URI per identificare

Подробнее

Protocolli strato applicazione in Internet

Protocolli strato applicazione in Internet Protocolli strato applicazione in Internet Gruppo Reti TLC [email protected] http://www.tlc-networks.polito.it/ Protocolli di strato applicativo - 1 Modello client-server Tipica applicazione tra client

Подробнее

Attacchi Web - Introduzione alla sicurezza nelle applicazioni Web

Attacchi Web - Introduzione alla sicurezza nelle applicazioni Web Attacchi Web Introduzione alla sicurezza nelle applicazioni Web Davide Marrone [email protected] Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Dipartimento

Подробнее

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

Protocolli per il Web. Impianti Informatici. Protocolli applicativi Protocolli per il Web Protocolli applicativi I protocolli applicativi 2 Applicazioni Socket interface HTTP (WEB) SMTP (E-MAIL) FTP... NFS RPC DNS... Trasporto TCP UDP Rete ICMP RIP OSPF IP ARP RARP Non

Подробнее

Prova in itinere Esempio d esame 1

Prova in itinere Esempio d esame 1 Fondamenti di Internet e Reti Proff. A. Capone, M. Cesana, I. Filippini, G. Maier Cognome Nome Matricola Prova in itinere Esempio d esame 1 Tempo complessivo a disposizione per lo svolgimento: 1h30m Usare

Подробнее

PROTOCOLLI APPLICATIVI PER INTERNET

PROTOCOLLI APPLICATIVI PER INTERNET PROTOCOLLI APPLICATIVI PER INTERNET IC3N 2000 N. 5 La famiglia dei protocolli TCP/IP Applicazioni e-mail,ftp,ssh,www TCP UDP ICMP IP ARP RARP IEEE 802-Ethernet-X25-Aloha ecc. Collegamento fisico 6 1 Protocolli

Подробнее

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

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

Подробнее

Protocolli applicativi basati su TCP/IP

Protocolli applicativi basati su TCP/IP Protocolli applicativi basati su TCP/IP A.A. 2005/2006 Walter Cerroni Protocolli applicativi Sono i protocolli utilizzati dalle applicazioni per scambiarsi informazioni attraverso la rete Esempi: HTTP

Подробнее

Lo strato di applicazione in Internet

Lo strato di applicazione in Internet Lo strato di applicazione in Internet Prof. Ing. Carla Raffaelli a.a. 2004/2005 Protocolli applicativi Sono i protocolli utilizzati dalle applicazioni per scambiarsi informazioni Esempi: HTTP per il web,

Подробнее

5 - Protocolli Applicativi

5 - Protocolli Applicativi Università di Bergamo Dipartimento di Ingegneria dell Informazione e Metodi Matematici 5 - Protocolli Applicativi Architetture e Protocolli per Internet 1 Processi e Protocolli Processi in esecuzione su

Подробнее