Tecnologie di Sviluppo per il Web

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
1 Tutto su liceoclassicojesi.it 1° Incontro sulla gestione di liceoclassicojesi.it.
Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Tecnologie di Sviluppo per il Web
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
IL PROTOCOLLO HTTP Puppo Marco.
Java Enterprise Edition (JEE)
G. Mecca – – Università della Basilicata Basi di Dati Progettazione di Basi di Dati: Introduzione versione 2.0 Questo lavoro è concesso.
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Concetti Fondamentali versione.
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web Cascading Style Sheets (CSS): Introduzione versione 2.0 Questo.
Tecnologie di Sviluppo per il Web
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è
G. Mecca – – Università della Basilicata Basi di Dati Tecnologia di un DBMS: Concorrenza e Affidabilità Concetti Avanzati versione 2.0.
G. Mecca – Università della Basilicata – Tecnologie di Sviluppo per il Web JavaScript Concetti Fondamentali versione 2.0 Questo lavoro.
Frontespizio Economia Monetaria Anno Accademico
Web e HTTP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
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.
Programmazione Procedurale in Linguaggio C++
WWW Introduzione ad HTTP Fabio Vitali. WWW Fabio Vitali2 Introduzione Oggi esaminiamo in breve: HTTP (HyperText Transfer Protocol) Un protocollo stateless.
Implementazione dell algortimo di Viterbi attraverso la soluzione del problema di cammino mi- nimo tramite software specifico. Università degli studi di.
1 Basi di dati e Web Prof. Stefano Paraboschi Prof. Barbara Pernici.
Programmazione 1 9CFU – TANTE ore
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Architettura del World Wide Web
1 © Alberto Montresor Algoritmi e Strutture Dati Capitolo 7 - Tabelle hash Alberto Montresor Università di Trento This work is licensed under the Creative.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Reti di Calcolatori IL LIVELLO APPLICAZIONI WEB e HTTP.
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
Portale Capacità STOGIT
Corso di Informatica per Giurisprudenza Lezione 7
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
1° passo Aprire Internet Explorer Andare alla homepage di Ateneo Aprire il menu Ateneo Scorrere fino Servizi di Ateneo Cliccare su Servizi Informatici.
> Remote Authentication Dial In User Service
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.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ISOIVA (LOCALE) TO ISOIVA (WEB) RIPARTIZIONE INFORMATICA UFFICIO APPLICATIVI AMMINISTRATIVI 13/04/2011 UNIVERSITÀ DEGLI STUDI DI FERRARA 1.
Protocollo informatico: interoperabilità e PEC
Esercitazioni di Meteorologia da satellite
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Elaborazioni server-side: dalle CGI al PHP
21 marzo 2002 (ri-)Avvisi: Giovedi 28 marzo la lezione e sospesa. Nuovo indirizzo di Spedire messaggi e esercizi solo.
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
Riconfigurare il diritto dautore. Lipertesto, una necessità di riconfigurazione. Secondo G. P. Landow, lavvento dellipertesto implica la necessità di.
Il Server web Laboratorio di Progettazione Web AA 2007/2008
File system distribuito transazionale con replicazione
Sistemi di Elaborazione dellInformazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 4 – Caching HTTP.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
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.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 - Protocolli del Web Ernesto Damiani Lezione 3 – Esempi HTTP.
a cura di Francesco Lattari
FTP File Transfer Protocol
Creato da Riccardo Nuzzone
Programmazione Procedurale in Linguaggio C++
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP L’utente fa una richiesta di pagina.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
InternetInternet Sede: Salvo D’acquisto 2010/2011 Docente: Vito Monno.
URI e HTTP Fabio Vitali.
Reti di calcolatori e sicurezza “Configurare il web-server Apache” a cura di Luca Sozio.
Servizi Internet Claudia Raibulet
Tecnologie lato Server: i Server Web © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto.
Livello 7: Applicazione. Protocolli più importanti HTTP = Hyper Text Transfer Protocol HTTPS = Hyper Text Transfer Protocol over Secure Socket Layer DNS.
Transcript della presentazione:

Tecnologie di Sviluppo per il Web Introduzione Il Protocollo HTTP versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca – mecca@unibas.it – Università della Basilicata

Sommario HTTP 1.0 Transazioni Autenticazione Messaggi HTTP 1.1 Il Protocollo HTTP >> Sommario Sommario HTTP 1.0 Transazioni Autenticazione Messaggi HTTP 1.1 Connessioni Persist. Host Virtuali HTTPS, SSL – cenni Configurazione di un Server HTTP G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0 “Standard” IETF (RFC 1945) >> HTTP 1.1 Il Protocollo HTTP >> HTTP 1.0 HTTP 1.0 “Standard” IETF (RFC 1945) >> HTTP 1.1 Protocollo di applicazione HTTP TCP IP Fisico fisico applicazione trasporto rete collegamento Browser Web Server Web G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Transazioni Scambio di messaggi HTTP Transazione HTTP Il Protocollo HTTP >> Transazioni HTTP 1.0: Transazioni Scambio di messaggi HTTP Transazione Transazione HTTP scambio di messaggi tra server e client il client apre una connessione con il server il client invia la richiesta sulla connessione il server invia la risposta sulla connessione la connessione viene chiusa G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Transazioni Caratteristiche del protocollo Attenzione Il Protocollo HTTP >> Transazioni HTTP 1.0: Transazioni Caratteristiche del protocollo non orientato alle connessioni – una nuova connessione per ogni transazione privo di stato – nella transazione successiva non resta traccia di quanto avvenuto nelle transazioni precedenti Attenzione la mancanza di stato influenza la scrittura delle applicazioni G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Transazioni Come nasce normalmente la richiesta Il Protocollo HTTP >> Transazioni HTTP 1.0: Transazioni Come nasce normalmente la richiesta l’utente seleziona un URI es: http://www.unibas.it/index.html l’URI può essere specificato esplicitamente es: nella barra degli indirizzi del browser oppure può provenire da un collegamento ipertestuale selezionato dall’utente G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Transazioni in Dettaglio Il Protocollo HTTP >> Transazioni HTTP 1.0: Transazioni in Dettaglio I Operazione risoluzione del nome: il client utilizza il servizio DNS per risolvere il nome in num. IP es: www.unibas.it >> 193.204.16.105 II Operazione viene richiesta una connessione al numero IP e alla porta specificata es: 193.204.16.105:80 G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Transazioni III Operazione IV Operazione Il Protocollo HTTP >> Transazioni HTTP 1.0: Transazioni III Operazione ottenuta la connessione, il browser effettua una richiesta HTTP al server specificando il percorso e il nome della risorsa es: GET /index.html HTTP/1.0 IV Operazione il server gestisce la richiesta e fornisce la risposta G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Transazioni Nota Esempio Il Protocollo HTTP >> Transazioni HTTP 1.0: Transazioni Nota le richieste HTTP sono difficilmente isolate Esempio pagine HTML che contengono immagini il codice HTML della pagina e le immagini sono risorse distinte, con URI distinti viene richiesto il codice HTML successivamente vengono richieste le immagini necessarie alla visualizz. completa G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Transazioni Server Web browser connessione (IP, porta) Il Protocollo HTTP >> Transazioni HTTP 1.0: Transazioni connessione (IP, porta) es: www.unibas.it:80 connect() accept() browser ACK Server Web richiesta (URI) es: /index.html risposta connessione (IP, porta) es: www.unibas.it:80 connect() accept() ACK richiesta (URI) es: /icons/dot.gif risposta G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Autenticazione Risorse accessibili sul server Il Protocollo HTTP >> Autenticazione HTTP 1.0: Autenticazione Risorse accessibili sul server tutte quelle contenute nel file system virtuale E’ possibile limitare l’accesso definire utenti e password e restringere l’accesso agli utenti autorizzati Reami” (“Realms”) risorse che condividono gli stessi permessi; es: cartella ogni reame ha un nome G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Autenticazione Autenticazione di tipo elementare (“Basic”) Il Protocollo HTTP >> Autenticazione HTTP 1.0: Autenticazione Autenticazione di tipo elementare (“Basic”) il server chiede al client di autenticarsi per il reame il client chiede nome utente e password all’utente il client invia nome utente e password in chiaro al server (codificati come base64) il browser “ricorda” le autorizzazioni ricevute per la durata della sessione Sessione di lavoro sequenza di richieste effettuate da un utente normalmente si conclude chiudendo il browser G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Autenticazione Server Web browser connessione (IP, porta) Il Protocollo HTTP >> Autenticazione HTTP 1.0: Autenticazione connessione (IP, porta) es: www.unibas.it:80 connect() accept() ACK browser richiesta (URI) es: /privato/index.html Server Web richiesta di autenticazione (reame) es: Area Privata connessione (IP, porta) es: www.unibas.it:80 connect() accept() ACK nome utente password nome utente e password es: Pinco, palla non è necessario digitare nome utente e password per altre risorse del reame risposta G. Mecca - Tecnologie di Sviluppo per il Web

Configurazione del Server HTTP Il Protocollo HTTP >> Configurazione del Server HTTP Configurazione del Server HTTP Fino a questo punto radice del file system virtuale ed alias porta documento standard tipi MIME Altri parametri da configurare utenti e password definizione dei reami e criteri di protezione G. Mecca - Tecnologie di Sviluppo per il Web

Configurazione di un Server HTTP Il Protocollo HTTP >> Configurazione del Server HTTP Configurazione di un Server HTTP Internet Information Server adotta il meccanismo di protezione di Windows (utenti e password) Apache creazione degli utenti: comando htpasswd elemento <Directory> di httpd.conf per configurare reami e tipi di autenticazione per le cartelle >> httpd.conf G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Formato dei Messaggi Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Formato dei Messaggi Struttura generale dei messaggi vale per richiesta e per risposta <linea iniziale> [<intestazione1>: <valore1>] […] [<intestazionen>: <valoren>] <linea vuota> [<corpo del messaggio>] intestazioni HTTP G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Formato dei Messaggi Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Formato dei Messaggi Linea iniziale nella richiesta contiene l’URI nella risposta contiene l’esito della richiesta Corpo nella richiesta è vuota o contiene la query nella risposta contiene la risorsa Intestazioni ce ne sono numerose (vedi appendice) G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Richiesta Linea iniziale della richiesta Metodi Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Richiesta Linea iniziale della richiesta <metodo> <URI> HTTP/1.0 Metodi GET: metodo ordinario per effettuare richieste specificando l’URI della risorsa POST: metodo per effettuare richieste specificando l’URI ed una serie di parametri nel corpo della richiesta HEAD: variante di GET a scopo di controllo G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Richiesta Metodo GET metodo standard Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Richiesta Metodo GET metodo standard viene specificato l’URI della risorsa il corpo della richiesta è vuoto eventuali parametri sono nella query (e quindi sono visibili pubblicamente) GET /index.html HTTP/1.0 GET /users/gmecca/index.html HTTP/1.0 GET /bollo.cgi?targa=AB123DE HTTP/1.0 G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Richiesta Metodo POST Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Richiesta Metodo POST utilizzato per colloquiare con i servizi viene specificato l’URI della risorsa senza parametri parametri contenuti nel corpo del messaggio utile per dati privati o di una certa lunghezza POST /bollo.cgi HTTP/1.0 (in questo caso i parametri sono nel corpo) G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Richiesta Metodo HEAD Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Richiesta Metodo HEAD variante di GET utilizzata principalmente a scopo di controllo (es: validità) e debugging la richiesta è del tutto simile ad una GET in risposta il server fornisce solo le intestazioni (e non il corpo) HEAD /index.html HTTP/1.0 HEAD /bollo.cgi?targa=AB123DE HTTP/1.0 G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Richiesta Chi decide il metodo di richiesta ? Metodo POST Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Richiesta Chi decide il metodo di richiesta ? non lo decide l’utente (trasparente) il client ordinariamente utilizza il metodo GET es: l’utente specifica un URI nella barra es: l’utente seleziona un collegamento Metodo POST quando l’utente sottomette una maschera (form) il metodo può essere POST o GET >> /tmp/provaMetodi.html + file di log G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Richiesta Intestazioni, alcuni esempi Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Richiesta Intestazioni, alcuni esempi User-Agent – es: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461) If-Modified-Since – es: If-Modified-Since: Thu, 01 Apr 2002 16:00:00 GMT Authorization – es: Authorization: Basic ZGRpbjpvcGVuIHNl== Referer – es. Referer: http://www.unibas.it/index.html G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Risposta Linea iniziale della risposta Codice numerico Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Risposta Linea iniziale della risposta HTTP/1.0 <codice numerico> <descrizione> Codice numerico 1xx: messaggio informativo 2xx: richiesta esaudita con successo 3xx: c’è stata una redirezione 4xx: errore sul lato del client 5xx: errore sul lato del server G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Risposta Esempi: Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Risposta Esempi: HTTP/1.0 200 OK risorsa nel corpo del messaggio HTTP/1.0 301 Moved Permanently HTTP/1.0 302 Moved Temporarily nuovo URI nel corpo del messaggio HTTP/1.0 404 Not Found HTTP/1.0 401 Unauthorized HTTP/1.0 500 Server Error G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Risposta Intestazioni, alcuni esempi Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Risposta Intestazioni, alcuni esempi Content-Type – es: Content-Type: text/html Content-Length – es: Content-Length: 650 Last-Modified – es: Last-Modified Thu, 01 Apr 2002 16:00:00 GMT Pragma – es: Pragma: no-cache Server – es: Server: Apache 1.3.20 Location – es: Location: http://www.unibas.it/newindex.html WWW-Authenticate – es: WWW-Authenticate: Basic realm=“Area Privata” G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Un Esempio di GET Richiesta Risposta HTTP/1.0 200 OK Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Un Esempio di GET Richiesta GET /news/index.html HTTP/1.0 User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows XP) Opera 6.0 [en] Referer: http://www.unibas.it/index.html <linea vuota> Risposta HTTP/1.0 200 OK Date: Thu, 01 Apr 2002 16:00:00 GMT Content-Type: text/html Content-Length: 1534 <html> <head> … ... </body> </html> corpo della risposta: contenuto del file index.html G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Un Esempio di POST Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Un Esempio di POST Richiesta POST /bollo.asp HTTP/1.0 User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows XP) Opera 6.0 [en] targa=AB123DE&utente=Mario%20Rossi Risposta HTTP/1.0 200 OK Date: Thu, 01 Apr 2002 16:00:00 GMT Content-Type: text/html Content-Length: 2384 Pragma: no-cache <html> … targa: AB123DE ... </html> corpo della risposta: codice HTML generato dinamicam. si suppone che l’utente abbia riempito e sottomesso una maschera basata sul metodo POST G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Un Esempio di POST Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Un Esempio di POST Attenzione alle differenze nel primo caso stiamo richiedendo il contenuto di un file (index.html) nel secondo caso stiamo chiedendo l’esecuzione di un’applicazione, passando dei parametri l’applicazione genera il codice HTML corrispondente al messaggio di risposta G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.1 Standard IETF (RFC 2616) Principali obiettivi Attualmente Il Protocollo HTTP >> HTTP 1.1 HTTP 1.1 Standard IETF (RFC 2616) Principali obiettivi migliorare le prestazioni di HTTP 1.0 rendere il protocollo più flessibile Attualmente è implementato dalla maggior parte dei server e dei browser ma viene mantenuta compatibilità con il passato per via dei vecchi browser G. Mecca - Tecnologie di Sviluppo per il Web

Il Protocollo HTTP >> HTTP 1.1 Problemi di HTTP 1.0 lentezza e congestione nelle connessioni >> connessioni multiple (“hack”) limitatezza nel numero di IP (un IP per ciascun server Web) limiti del meccanismo di autorizzazione (password in chiaro) limiti nel controllo dei meccanismi di caching G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.1 Novità principali Altre novità connessioni persistenti Il Protocollo HTTP >> HTTP 1.1 HTTP 1.1 Novità principali connessioni persistenti host virtuali autenticazione crittografata (“digest”) Altre novità nuovi metodi di accesso, miglioramento dei meccanismi di caching, “chunked encoding”) G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.1: Connessioni Persistenti Il Protocollo HTTP >> HTTP 1.1 >> Connessioni Persistenti HTTP 1.1: Connessioni Persistenti Modalità standard di HTTP/1.1 più di una transazione si può svolgere lungo la stessa connessione TCP nuova intestazione del client Connection: close nuovo messaggio del server HTTP/1.1 100 Continue il server può chiudere la connessione unilateralmente dopo un certo “timeout” G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.1: Connessioni Persistenti Il Protocollo HTTP >> HTTP 1.1 >> Connessioni Persistenti HTTP 1.1: Connessioni Persistenti connessione (IP, porta) es: www.unibas.it:80 connect() accept() ACK Server Web browser richiesta (URI) es: /index.html risposta richiesta (URI) /icons/dot.gif Connection: close risposta G. Mecca - Tecnologie di Sviluppo per il Web

Il Protocollo HTTP >> HTTP 1.1 >> Host Virtuali Ad uno stesso IP possono corrispondere nomi diversi e server diversi requisito importante per i “provider” IP e porta non bastano più ad identificare il server Nuova intestazione del client Host: serve a specificare il nome del server es: Host: www.tin.it G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.1: Hosts Virtuali Indirizzo IP 192.168.3.109 con due host: Il Protocollo HTTP >> HTTP 1.1 HTTP 1.1: Hosts Virtuali Indirizzo IP 192.168.3.109 con due host: www.tin.it, www.virgilio.it >> /news/index.html Richiesta al sito 1: GET /news/index.html HTTP/1.1 Host: www.tin.it Richiesta al sito 2: Host: www.virgilio.it G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.1: Autenticazione “Digest” Il Protocollo HTTP >> HTTP 1.1 >> Autenticazione HTTP 1.1: Autenticazione “Digest” Le password non vengono trasmesse Il server invia al browser una stringa “nonce” Il browser risponde con nome utente un valore crittografato basato su: nome utente, password, URI e nonce (algoritmo MD5, sunto di 128 bit in formato ASCII) il browser ricorda l’autorizzazione G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.1: Autenticazione “Digest” Il Protocollo HTTP >> HTTP 1.1 >> Autenticazione HTTP 1.1: Autenticazione “Digest” Esempio: Richiesta GET /privato/index.htm HTTP/1.1 Risposta HTTP/1.1 401 Unauthorized WWW-Authenticate: Digest realm=“Area Privata", nonce="dcd98b7102dd2f0“ Il browser richiede nome utente e password all’utente Nuova Richiesta GET /privato/index.htm HTTP/1.1 Authorization: Digest username=“Pinco", realm=“Area Privata", nonce=" dcd98b7102dd2f0", uri="/privato/index.htm", response="6629fae49393a05397450978507c4ef1“ Nuova Risposta (2xx oppure 4xx) G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.1: Autenticazione “Digest” Il Protocollo HTTP >> HTTP 1.1 >> Autenticazione HTTP 1.1: Autenticazione “Digest” Vantaggio le password non vengono trasmesse direttamente sulla rete in chiaro il meccanismo è decisamente più sicuro Ma non è sicuro al 100% è possibile intercettare la richiesta con URI, nonce e sunto e riprodurla per accedere alle risorse protette G. Mecca - Tecnologie di Sviluppo per il Web

HTTPS: Cenni La soluzione: HTTPS HTTPS: HTTP over SSL (RFC 2818) Il Protocollo HTTP >> HTTP 1.1 >> HTTPS, SSL – cenni HTTPS: Cenni La soluzione: HTTPS HTTPS: HTTP over SSL (RFC 2818) soluzione considerata più sicura SSL: Secure Socket Layer protocollo di trasporto tutti i messaggi sono crittografati crittografia a chiave pubblica (certificato) trasparente per lo sviluppatore G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.1: Altre Novità Nuovi Metodi di Accesso Il Protocollo HTTP >> HTTP 1.1 HTTP 1.1: Altre Novità Nuovi Metodi di Accesso Aggiornamenti delle risorse sul server PUT: salvare risorse sul file system del server DELETE: eliminare risorse dal file system del server poco utilizzati per motivi di sicurezza Diagnostica della rete OPTIONS TRACE UPGRADE G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.1: Altre Novità Miglioramento dei meccanismi di caching Il Protocollo HTTP >> HTTP 1.1 HTTP 1.1: Altre Novità Miglioramento dei meccanismi di caching gestione molto più sofisticata delle cache più accuratezza nella specifica di validità intestazione Cache-Control “Chunked-Encoding” la risposta può essere inviata al client a pezzi, anche prima di conoscerne la lunghezza totale G. Mecca - Tecnologie di Sviluppo per il Web

Configurazione del Server HTTP Il Protocollo HTTP >> Configurazione del Server HTTP Configurazione del Server HTTP A questo punto siamo in grado di completare gli aspetti relativi alla configurazione del server HTTP Ricapitoliamo Prima operazione installazione dell’applicazione es: Internet Information Services es: Apache G. Mecca - Tecnologie di Sviluppo per il Web

Configurazione di un Server HTTP Il Protocollo HTTP >> Configurazione del Server HTTP Configurazione di un Server HTTP Configurazione radice del file system virtuale ed alias eventuale porta e documento standard tipi MIME utenti e password reami e criteri di protezione (basic o digest) Aspetti avanzati logging caching host virtuali G. Mecca - Tecnologie di Sviluppo per il Web

Riassumendo HTTP 1.0 Transazioni Autenticazione Messaggi HTTP 1.1 Il Protocollo HTTP >> Sommario Riassumendo HTTP 1.0 Transazioni Autenticazione Messaggi HTTP 1.1 Connessioni Persistenti Host Virtuali HTTPS, SSL – cenni Configurazione di un Server HTTP G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Intestazioni Sono classificate in varie categorie Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Intestazioni Sono classificate in varie categorie intestazioni generali intestazioni dei messaggi (valide sia per richiesta che per risposta) intestazioni specifiche della richiesta intestazioni specifiche della risposta Nel seguito un elenco per HTTP 1.0 e HTTP 1.1 G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Intestazioni Intestazioni dei messaggi (“Entity header”) Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Intestazioni Intestazioni dei messaggi (“Entity header”) Content-Type – es: Content-Type: text/html Content-Encoding – es: Content-Encoding: x-zip Content-Length – es: Content-Length: 650 Last-Modified – es: Last-Modified Thu, 01 Apr 2002 16:00:00 GMT Expires – es: Expires: Thu, 01 Apr 2002 16:00:00 GMT Allow – es: Allow: GET, HEAD G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Intestazioni Intestazioni generali (“General header”) Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Intestazioni Intestazioni generali (“General header”) Date – es: Date: Thu, 01 Apr 2002 16:00:00 GMT Pragma – es: Pragma: no-cache Intestazioni della risposta (“Response h.”) Server – es: Server: Apache 1.3.20 Location – es: Location: http://www.unibas.it/newindex.html WWW-Authenticate – es: WWW-Authenticate: Basic realm=“Area Privata” G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.0: Intestazioni Intestazioni della richiesta (“Request h.”) Il Protocollo HTTP >> Formato dei Messaggi HTTP 1.0: Intestazioni Intestazioni della richiesta (“Request h.”) User-Agent – es. User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461) User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:0.9.4) Gecko/20011019 Netscape6/6.2 From – es. From: mecca@unibas.it If-Modified-Since – es. If-Modified-Since: Thu, 01 Apr 2002 16:00:00 GMT Authorization – es. Authorization: Basic QWxhZGRpbjpvcGVuIHNl== Referer – es. Referer: http://www.unibas.it/index.html G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.1: Nuove Intestazioni Il Protocollo HTTP >> HTTP 1.1 >> Nuove Intestazioni HTTP 1.1: Nuove Intestazioni Intestazioni Generali Date Pragma Cache-Control Connection Trailer Transfer-Encoding Upgrade Via Warning Intestazioni di Entità Allow Content-Encoding Content-Length Content-Type Expires Last-Modified Content-Language Content-Location Content-MD5 Content-Range G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.1: Nuove Intestazioni Il Protocollo HTTP >> HTTP 1.1 >> Nuove Intestazioni HTTP 1.1: Nuove Intestazioni Int. di Richiesta Authorization From If-Modified-Since Referer User-Agent Accept Accept-Charset Accept-Encoding Accept-Language Expect Host If-Match If-None-Match If-Range If-Unmodified-Since Max-Forwards Proxy-Authorization Range TE G. Mecca - Tecnologie di Sviluppo per il Web

HTTP 1.1: Nuove Intestazioni Il Protocollo HTTP >> HTTP 1.1 >> Nuove Intestazioni HTTP 1.1: Nuove Intestazioni Intestazioni di Risposta Location Server WWW-Authenticate Age ETag Retry-After Vary G. Mecca - Tecnologie di Sviluppo per il Web

Termini della Licenza Termini della Licenza This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. G. Mecca - Tecnologie di Sviluppo per il Web