1 Tecnologia dei server WEB Prima parte Vista d’insieme e concetti di base (libro, cap. 2)

Slides:



Advertisements
Presentazioni simili
Informazioni di base sul funzionamento
Advertisements

Prof. Carla Fanchin – L.S. Tron
3 ottobre 2000Consiglio Nazionale delle Ricerche Progetto Biblio MIME 1 Consiglio Nazionale delle Ricerche Area di Ricerca di Bologna Istituto per le Applicazioni.
Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Tecnologie di Sviluppo per il Web
Costruzione di un sito web
Corso di Fondamenti di Informatica
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Web Services.
Java Enterprise Edition (JEE)
Laboratorio Informatica – I lezione
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Tecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web
REST Il paradigma REST è basato su un protocollo di comunicazione stateless, client-server, chacheable e scalabile, tipicamente HTTP (ma non necessariamente,
ING. CARLO MANFUCCI COMUNE DI GROSSETO
Internet e Web Dinamico
Posta Elettronica in Internet
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.
1 Basi di dati e Web Prof. Stefano Paraboschi Prof. Barbara Pernici.
Modello del sistema di posta Elettronica
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.
Il protocollo ftp.
23 novembre 2000IAT-CNR Progetto Biblio MIME 1 Consiglio Nazionale delle Ricerche Area di Ricerca di Bologna Istituto per le Applicazioni Telematiche di.
Reti di Calcolatori IL LIVELLO APPLICAZIONI WEB e HTTP.
Corso di Laurea in Ingegneria Gestionale
RISORSE WEB Internet Per un uso consapevole delle risorse della Rete
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
Modelli ed Applicazioni di Reti di Calcolatori L-S Anno Accademico Università degli Studi di Bologna Ing. Fabio Tarantino –
1 Internet e nuove tecnologie Anno Accademico Prof. Flavio De Paoli Dott. Marco Loregian.
Corso di Informatica per Giurisprudenza Lezione 7
Modulo 7 – reti informatiche u.d. 1 (syllabus – )
Guida IIS 6 A cura di Nicola Del Re.
Cos’è Internet Una rete globale di reti basata sul protocollo TCP/IP.
Test Reti Informatiche A cura di Gaetano Vergara Se clicchi sulla risposta GIUSTA passi alla domanda successiva Se clicchi sulla risposta ERRATA passi.
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Elaborazioni server-side: dalle CGI al PHP
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
Applicazioni Web HTTP, HTML e CSS Elaborato da Gianluca Lauteri e Daniele Filannino.
Creare pagine web Xhtlm. Struttura di una pagina.
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.
Il Server web Laboratorio di Progettazione Web AA 2007/2008
Sistemi di elaborazione dellinformazione Modulo 3 -Protocolli applicativi Unità didattica 3 -Protocolli di posta elettronica Ernesto Damiani Lezione 2.
Sistemi di Elaborazione dellInformazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 4 – Caching HTTP.
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.
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
Reti di Calcolatori ed Internet Fabio Massimo Zanzotto.
Internet.
Lezione 8.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
HTML Tag Novità HTML5: Audio e Video. Tag 2  Il tag viene utilizzato per inserire oggetti (immagini, audio, video, Java applets, ActiveX, filmati flash,
HTML I tag HTML (parte 2). Elenchi 2  Organizzare il testo in elenchi  Elenchi puntati  Elenchi numerati Elemento 1 Elemento 2 Elemento 3 Elemento.
Creato da Riccardo Nuzzone
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP L’utente fa una richiesta di pagina.
Internet e HTML Diffusione di informazioni mediante la rete Internet.
1 Storia di Internet Internet non è un’invenzione degli anni ’90….. Nata dagli studi di un’agenzia detta ARPA (Advanced Research Projects Agency) Internet.
InternetInternet Sede: Salvo D’acquisto 2010/2011 Docente: Vito Monno.
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.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
Servizi Internet Claudia Raibulet
I NTERNET Rete interconnessa che permette il collegamento tra due host eterogenei, appartenenti a reti differenti separati anche da grande distanze. Internet.
Transcript della presentazione:

1 Tecnologia dei server WEB Prima parte Vista d’insieme e concetti di base (libro, cap. 2)

2 Nota preliminare In questa dispensa, e in tutte quelle sulla tecnologia dei server WEB, si fa riferimento al libro: N.J. Yeager, R. McGrath WEB Server Technology Morgan Kaufmann Publishers, 1996

3 Componenti del server Server WEB = piattaforma + software + informazioni piattaforma: hardware, O.S., software di rete software: il server HTTP informazioni: i documenti da servire agli utenti i documenti sono richiesti per nome: il server non sa nulla di cosa contengano

4 Cosa il server non sa Il server non sa nulla dei collegamenti ipertestuali presenti nei documenti (ci pensa il browser) non sa nulla degli “inline documents” (ci pensa il browser) non sa nulla dei links che puntano ai suoi documenti (problema dei “dangling links”) non sa se il tipo MIME (Multipurpose Internet Mail Extensions) associato è corretto non sa dell’esistenza di altri server WEB

5 Documenti WEB Organizzati in modo gerarchico, ad albero, a partire dal Document Root Possono contenere, tra l’altro: –documenti HTML, che il client deve formattare –testi ASCII –documenti preformattati, es. Postscript –files applicativi specifici, es. PowerPoint –immagini grafiche (GIF, JPEG etc.) –registrazioni audio (AU, RealAudio, MP3 etc.) –registrazioni video (Quicktime, MPEG etc.) –documenti VRML con rappresentazioni 3D –applets (JAVA, ActiveX, etc.)

6 Documenti WEB Il client deve sapere il formato del documento Il server lo comunica al client: –campo Content-type nel MIME header –determinazione del tipo basata sull’estensione, secondo tavola di configurazione o talvolta magic number (es.: Apache, file mime.types e magic) –v. libro, tavola 2.1 pag. 25 documenti HTML: anchors – sito AXnet –è il client che capisce il da farsi (il server non sa nulla) –eccezione: server-side HTML parsing (ASP, PHP3, etc.)

7 Documenti WEB Documenti inline: – –vengono automaticamente richiesti dal browser –possono essere usati anche per altri scopi oltre alle immagini: es. avvio automatico di un programma (contatore di pagine) –documento HTML con inlines = oggetto multiplo; richiede più richieste HTTP per essere visualizzato –browser: immagini in cache

8 Documenti WEB Oggetti grafici, audio, video etc.: vengono decodificati –dal browser –da un external viewer (helper program) lanciato dal browser Il client può comunicare al server quali tipi accetta –campo Accept nella richiesta HTTP –server: status code None Acceptable

9 Documenti WEB Documenti compressi: doppia codifica –tipo documento –metodo di compressione –campo Content-encoding nell’header HTTP Content-type: application/postscript Content-encoding: gzip

10 Documenti WEB Tipo speciale di oggetto: programma (servlet) –detti gateways o scripts –il client richiede l’oggetto –il server lancia il programma, e invia l’output al client –script: tre passi base decodifica input dal client esecuzione algoritmo, e/o lancio altri programmi traslazione output da programma e invio allo stdout (che va al client) Gli scripts possono porre problemi di sicurezza

11 Organizzazione dei documenti WEB riferimento a documenti: –assoluto: –relativo: tutto è comunque relativo al Document Root l’organizzazione dei documenti non corrisponde necessariamente alla posizione fisica nel file-system –albero di directories interno al server –distribuzione su più macchine –vedi libro, fig. 2.2 pag 29-30

12 Il protocollo HTTP: la richiesta HTTP request: 4 parti –metodo (una delle azioni legali) -> vedi libro, tavola 2.2 pag. 31 –URI (nome dell’informazione richiesta) –versione del protocollo –opzionalmente, informazioni addizionali per modifica-supplemento alla richiesta URI: si usa lo URL - 3 parti: –identificatore protocollo -> http –nome del server -> –nome del documento -> /NDP/index.html lo URL dice cos’è (/NDP/index.html), dov’è ( e come ottenerlo (http) Informazioni addizionali: vedi libro, tavola 2.3 pag. 33

13 Il protocollo HTTP: la richiesta Un esempio: GET /NDP/index.html HTTP/1.0 User-Agent: NCSA Mosaic for the X Window System/2.5 Accept: text/plain Accept: text/html Accept: application/postscript Accept: image/*

14 Il protocollo HTTP: la risposta HTTP response: 3 parti –riga di stato (indica successo o no della richiesta) –metainformazione, ovvero descrizione dell’informazione contenuta nella risposta –l’informazione richiesta riga di stato: –formato: HTTP-version Status-code Reason –Status-code: un numero di 3 cifre –Reason: breve frase descrittiva dello Status-code – vedi libro, tavola 2.4 pag. 33 metainformazione: –comunica al browser informazioni utili per interpretare e presentare il documento –vedi libro, tavola 2.5 pag. 33

15 Il protocollo HTTP: la risposta Il campo Content-type della risposta, così come il campo Accept della richiesta, è codificato secondo i tipi MIME –vedi libro, tavola 2.6 pag. 35 Un esempio: HTTP/ OK Date: Sat, 11 Mar :57:06 GMT Server: Apache/1.0.5 Content-type: text/html Content-length: 3485 Last-modified: Wed, 23 Feb :55:50 GMT Esempio di errore: HTTP/ Not Found Date: Sat, 11 Mar :03:21 GMT Server: Apache/1.0.5 Content-type: text/html Content-length: 0

16 Funzionamento di un server Scenario tipico completo: vedi libro, Close-up pag Strategie organizzative, per la gestione simultanea di più richieste: –server concorrente (un processo per client) –server multi-threaded (un’unità di esecuzione per client) –server ad I/O multiplexato –server come gruppo di programmi cooperanti (ad es. un listener e diversi helpers)

17 Funzionamento di un server Più server WEB sulla stessa piattaforma HDW: –ciascun server ha il proprio Document Root, propri scripts applicativi, un proprio UID/GID, etc. –più server che rispondono a porte diverse es. 80 (server ufficiale), 8080 (server di un utente) URL: –virtual servers lo O.S. deve avere il supporto per multiple-IP addressing, o virtual host il server HTTP utilizza SOL_REUSEADDR sul socket passivo le URL si riferiscono a host distinti (ma si tratta della stessa macchina) Scenario dell’attivazione di una connessione: –vedi libro, fig. 2.8 pag. 48 –descritto meglio nel libro “Capacity Planning for WEB Performance”, cap. 2 e 4, già visti a lezione

18 Altri aspetti Configurazione del server: – avviene normalmente attraverso files di testo esterni –es.: Apache, httpd.conf Controllo di accesso: –altri files di testo controllano l’accessibilità dei documenti, eventualmente via passwords –es.: Apache,.htaccess Browser WEB: –client HTTP –spesso anche FTP, Gopher, WAIS (Wide Area Information Service), SMTP, POP3, NNTP (Network News Transfer Protocol)

19 Inadeguatezze di HTTP HTTP: stateless (senza memoria tra transazioni) - problemi: –prestazioni limitate (problema del TCP slow start) –operazioni con più di uno scambio client/server –difficoltà a mantenere il contesto –sessioni con utenti autenticati –commercio elettronico un protocollo pubblico non si cambia facilmente (problema della compatibilità) soluzioni parziali: con programmi esterni (helpers)

20 Miglioramenti futuri ad HTTP HTTP-NG (HTTP-New Generation): –progetto del W3C (WWW Consortium), iniziato nel vedi –totalmente incompatibile con HTTP 1.0 e 1.1 –connessioni persistenti –sessioni multiple, su più canali multiplexati in una connessione TCP (SCP - Session Control Protocol) –un canale riservato al controllo (richieste, messaggi di errore) –protocollo e dati codificati in modo compatto: riduzione fino a -90% –soluzione valida già oggi per Intranets