Web e HTTP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© 1996-2004 All Rights Reserved)

Slides:



Advertisements
Presentazioni simili
Prof. Carla Fanchin – L.S. Tron
Advertisements

Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Corso di Fondamenti di Informatica
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Web Services.
IL PROTOCOLLO HTTP Puppo Marco.
Java Enterprise Edition (JEE)
Laboratorio Informatica – I lezione
Mantenimento dello stato Laboratorio Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Connessione con MySQL.
Tecnologie di Sviluppo per il Web
ING. CARLO MANFUCCI COMUNE DI GROSSETO
Posta Elettronica in Internet
DNS: Il Servizio Directory di Internet
4-1 Mobilità in Internet Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
La rete in dettaglio: rete esterna (edge): applicazioni e host
3-1 User Datagram Protocol: UDP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
2-1 Trasferimento di file: ftp Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
WWW Introduzione ad HTTP Fabio Vitali. WWW Fabio Vitali2 Introduzione Oggi esaminiamo in breve: HTTP (HyperText Transfer Protocol) Un protocollo stateless.
Livello applicativo Obiettivi generali: Obiettivi specifici:
Architettura del World Wide Web
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Laboratorio di Informatica di Base Laboratorio di Informatica di Base Laurea in Informatica Multimediale Docente: Andrea Fusiello profs.sci.univr.it/~fusiello.
Internet Explorer Il browser.
INTERNET 1. WWW WWW, World Wide Web è unenorme banca dati mondiale, distribuita su un grandissimo numero di locazioni (siti), collegati fra loro da reti.
Crawling Saverio Caminiti.
Il protocollo ftp.
Reti di Calcolatori IL LIVELLO APPLICAZIONI WEB e HTTP.
Posta elettronica : per iniziare : per iniziare Primi passi con la posta elettronica Primi passi con la posta elettronica
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
Corso di PHP.
Corso di Informatica per Giurisprudenza Lezione 7
Modulo 7 – reti informatiche u.d. 1 (syllabus – )
Come funziona il PHP.
Guida IIS 6 A cura di Nicola Del Re.
Test Reti Informatiche A cura di Gaetano Vergara Se clicchi sulla risposta GIUSTA passi alla domanda successiva Se clicchi sulla risposta ERRATA passi.
Elaborazioni server-side: dalle CGI al PHP
Fondamenti delle Reti di Computer Seconda parte Carasco 15/04/2010.
AICA Corso IT Administrator: modulo 4 AICA © EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Risoluzione dei Problemi e Analisi del Traffico.
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
Sistemi Informativi sul Web
Applicazioni Web HTTP, HTML e CSS Elaborato da Gianluca Lauteri e Daniele Filannino.
Gianpaolo Cecere Introduzione
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Modulo 3 – U.D. 3 – Lez. 1 Ernesto Damiani - Sistemi di elaborazione dell'informazione.
Sistemi di Elaborazione dellInformazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 4 – Caching HTTP.
BIOINFO3 - Lezione 101 GLI IPERTESTI Una delle innovazioni introdotte da HTML e dal WWW in generale, rispetto ad un testo normale è sicuramente la possibilità
Amministrazione della rete: web server Apache
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
IL PROTOCOLLO HTTP.
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 - Protocolli del Web Ernesto Damiani Lezione 3 – Esempi HTTP.
Come comunicano i processi ?
FTP File Transfer Protocol
Creato da Riccardo Nuzzone
Internet e HTML Diffusione di informazioni mediante la rete Internet.
InternetInternet Sede: Salvo D’acquisto 2010/2011 Docente: Vito Monno.
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.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 2 – Complementi.
URI e HTTP Fabio Vitali.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
1 I protocolli di . 2 Posta elettronica Tre componenti: Tre componenti: user agentsuser agents mail serversmail servers Simple mail transfer protocol.
Reti di calcolatori e sicurezza “Configurare il web-server Apache” a cura di Luca Sozio.
Servizi Internet Claudia Raibulet
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 3 -Protocolli di posta elettronica Ernesto Damiani Lezione 3.
Eprogram informatica V anno.
INTERNET E INTRANET Classe VA SIA. La Storia di INTERNET ’ – ARPANET 1969 – anno di nascita università Michigan - Wayne 1970 – – INTERNET.
Livello 7: Applicazione. Protocolli più importanti HTTP = Hyper Text Transfer Protocol HTTPS = Hyper Text Transfer Protocol over Secure Socket Layer DNS.
Livello Applicazione Web e HTTP.
Transcript della presentazione:

Web e HTTP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© 1996-2004 All Rights Reserved)

Web e HTTP Terminologia essenziale Una pagina Web è costituita da oggetti HTML file, JPEG image, Java applet, audio file,… Una pagina Web consiste di un file base HTML che fa riferimento ad altri oggetti Ogni oggetto è raggiungibile attraverso un Uniform Resource Locator (URL) Esempio di URL: www.someschool.edu/someDept/pic.gif host name path name

Protocollo HTTP: generalità HTTP: hypertext transfer protocol Protocollo di livello applicativo per il Web modello client/server client: Browser (user agent) che richiede, riceve e “mostra” oggetti Web server: Web server che invia oggetti in risposta alle richieste HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068 (compatibile con HTTP 1.0) HTTP request PC con Explorer HTTP response HTTP request Server con Apache Web server HTTP response Mac con Navigator

Protocollo HTTP: generalità Usa il TCP: Il client inizia una connessione TCP (utilizzando un socket) verso il server sulla porta 80 Il server accetta la connesione TCP dal client Vengono scambiati messaggi http (messaggi del protocollo di livello applicativo) tra il browser (client http) e il Web server (server http) La connessione TCP è chiusa HTTP è “stateless” Il server non mantiene informazione sulle richieste precedenti del client Nota I protocolli che mantengono informazione di stato sono complessi (es. TCP) ! la storia passata (stato) deve essere conservata

Connessioni HTTP Connessione non persistente Per ogni connessione TCP viene inviato un singolo oggetto HTTP/1.0 usa una connessione non persistente Connessione persistente Più oggetti possono essere inviati su una singola connessione TCP HTTP/1.1 usa connessioni persistenti come default

Connessione non persistente (contiene testo e i riferimenti a 10 immagini jpeg) L’ utente accede alla URL www.someSchool.edu/someDepartment/home.index 1a. . Il cliente HTTP inizia una connessione TCP verso il server (processo) http sull’ host www.someSchool.edu alla porta 80 1b. Il server HTTP presso l’ host www.someSchool.edu è “in ascolto” sulla porta 80. “Accetta” la richiesta di connessione e ne dà conferma al client 2. Il cliente HTTP manda un request message (contenente l’ URL) nel socket di connessione TCP. Il messaggio indica che il cliente vuole l’oggetto someDepartment/home.index 3. Il server HTTP riceve il messaggio di richiesta, forma il response message contenente l’oggetto richiesto e invia il messaggio al suo socket tempo

Connessione non persistente (cont.) 4. Il server HTTP chiude la connessione TCP 5. Il cliente HTTP riceve il messaggio di risposta contenente il file html e lo visualizza. Analizzando il file html il browser trova i riferimenti a 10 oggetto jpeg tempo 6. I passi 1-5 sono ripetuti per ognuno dei 10 oggetti jpeg

Tempo di risposta Round Trip Time (RRT): tempo necessario a un piccolo pacchetto a viaggiare dal cliente al server e a tornare indietro Tempo di risposta (Response time): un RTT per iniziare la connessione TCP un RTT per la richiesta HTTP e i primi byte di risposta tempo di trasmissione del file totale = 2 RTT+ tempo di trasmissione tempo di trasmissione file inizio connessione TCP RTT richiesta ricevuto tempo

Connessioni persistenti e non persistenti Connessioni non persistenti richiedono 2 RTT per oggetto Ogni oggetto subisce lo “slow start” TCP Comunque i browser spesso aprono connessioni TCP in parallelo per “scaricare” gli oggetti Connessioni persistenti il server lascia la connessione aperta dopo aver inviato la risposta i messaggi successivi tra lo stesso client e server sono trasmessi su quella connessione Persistenti senza pipelining il clienta invia una nuova richiesta solo quando la risposta precedente è arrivata 1 RTT per ogni oggetto referenziato Persistenti con pipelining default in HTTP/1.1 il cliente invia una richiesta appena incontra il riferimento ad un oggetto richieste consecutive (back-to-back) solo 1 RTT per tutti gli oggetti referenziati

HTTP request message due tipi di messaggi HTTP: request, response ASCII (human-readable format) request line (comandi GET, POST, HEAD) GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language:fr (extra carriage return, line feed) header lines Carriage return, line feed indica la fine del messaggio

HTTP request message: formato generale

Invio dei form Metodo Post: Metodo URL: Usato quando l’utente compila una form Il contenuto dei campi dei form sono inseriti nell’Entitiy Body Il comando richiede una pagina Web il cui contenuto dipende dalle informazioni nel campo body Es. query inviata ad un motore di ricerca Metodo URL: Usa il metodo GET L’input è inserito nel campo URL della linea di richiesta: www.somesite.com/animalsearch?monkeys&banana

Tipi di richiesta HTTP/1.0 GET POST HEAD HTTP/1.1 GET, POST, HEAD PUT chiede a server di lasciare il corpo dll’oggetto fuori dalla risposta usato spesso per debugging HTTP/1.1 GET, POST, HEAD PUT carica il file contenuto nel body nel path specificato dal campo URL DELETE cancella il file specificato nel campo URL

HTTP response message status line (protocol status code status phrase) HTTP/1.1 200 OK Connection close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data ... header lines data, es. file html richiesto

HTTP response message: formato generale

HTTP response: codici di stato + frase Prima riga del messaggio di risposta server->client. Alcuni esempi: 200 OK Successo, oggetto richiesto più avanti nel messaggio 301 Moved Permanently L’oggetto richiesto è stato spostato. Il nuovo indirizzo è specificato più avanti (Location:) 400 Bad Request Richiesta incomprensibile per il server 404 Not Found Il documento non è stato trovato sul server 505 HTTP Version Not Supported versione richiesta dal protocollo HTTP non supportata dal server

Prova HTTP (lato client) 1. Telnet al tuo favorito Web server: telnet www.eurecom.fr 80 Apre una connessione TCP al port 80 a www.eurecom.fr. Ogni carattere digitato è inviato al port 80 at www.eurecom.fr 2. Digita una GET HTTP request: Digitando questo messaggio (carriage return due volte), si invia questa GET request minima (ma completa) al server HTTP GET /~ross/index.html HTTP/1.0 3. Si osservi la risposta del server HTTP 1.0 definito in RFC 1945 HTTP 1.1 definito in RFC 2068

Interazione user-server: autorizazzione Autorizzazione: controllo dell’accesso agli oggetti del server authorization credentials: solitamente nome e password stateless: il cliente deve fornire l’autorizzazione per ogni richiesta authorization: header line in ogni richiesta se non c’è authorization: header il server rifiuta l’accesso e invia WWW authenticate: header nella risposta client server usual http request msg 401: authorization req. WWW authenticate: usual http request msg + Authorization:<cred> usual http response msg usual http request msg + Authorization:<cred> time usual http response msg Il browser memorizza nome & password in modo che l’utente non debba digitarli ogni volta

Cookies: mantenere lo “stato” Molti dei più importanti siti web usano i cookie Quattro componenti: 1) cookie header line nel messaggio di risposta HTTP 2) cookie header line nel messaggio di richiesta HTTP 3) file cookie mantenuto nell’host e gestito dal browser 4) back-end database sul sito Web Esempio: Susan accede Internet sempre dallo stesso PC Visita un sito di e-commerce per la prima volta Quando la richiesta iniziale HTTP arriva al sito, viene creata un’unica ID e una entry nel backend database per quella ID

Cookies: mantenere lo “stato” (cont.) client server usual http request msg usual http response + Set-cookie: 1678 cookie: 1678 usual http response msg cookie- specific action spectific Cookie file ebay: 8734 server creates ID 1678 for user entry in backend database Cookie file amazon: 1678 ebay: 8734 access una settimana dopo: access Cookie file amazon: 1678 ebay: 8734

Cookies (cont.) Cookies e privacy: Utilizzo dei cookie: Nota Cookies e privacy: i cookie permettono ai siti di imparare molte cose sull’utente se si forniscono dati personali, il sito web associa tali dati al cookie nel DB di back-end Utilizzo dei cookie: autorizzazione shopping carts one click shopping raccomandazioni stato sessione utente (Web e-mail)

GET condizionato: cache lato client server Obiettivo: non mandare l’oggetto se il cliente ha una versione aggiornata in cache client: specifica la data della copia in cache nella richiesta HTTP If-modified-since: <date> server: la risposta non contiene l’oggetto se la copia in cache è aggiornata HTTP/1.0 304 Not Modified HTTP request msg If-modified-since: <date> oggetto non modificato HTTP response HTTP/1.0 304 Not Modified HTTP request msg If-modified-since: <date> oggetto modificato HTTP response HTTP/1.0 200 OK <data>