8f435fad81615465ff434efd1d56b154.ppt
- Количество слайдов: 54
Tecnologie lato Server: i Server Web Stefano Clemente s. clemente@ei. unibo. it © 2005 Stefano Clemente I lucidi sono in parte realizzati con materiale tratto dal libro di testo adottato tradotto in italiano: © 2002 Prentice Hall H. M. Deitel, P. J. Deitel, T. R. Nieto Internet & World Wide Web – How To Program (Second Edition) 25 Ottobre 2005 Stefano Clemente
Riferimenti bibliografici • H. M. Deitel, P. J. Deitel, T. R. Nieto Internet & World Wide Web – How To Program (Second Edition) ed. Prentice Hall 2002 Capitolo 21 25 Ottobre 2005 Stefano Clemente 2
Introduzione • Web Server − Software specializzato nel rispondere alle richieste provenienti dai client (browser) attraverso l’invio di risorse (pagine web) • Il client richiede attraverso URI (URL) un documento del server Web • Il server mappa la URI in un documento che si trova − nel suo file-system − nella sua rete locale e lo restituisce al client • La comunicazione tra client e server avviene per mezzo del protocollo HTTP − Esamineremo due web server • Internet Information Server (IIS) di Microsoft • Apache di Apache Software Foundation (open source) 25 Ottobre 2005 Stefano Clemente 3
Tipi di richieste HTTP • Metodi di richiesta HTTP − GET • richiesta di un documento al Web Server − POST • invio dei dati che l’utente del client ha immesso nella form • GET può inviare contenuti di una form come parte della URL per recuperare una particolare risorsa dal server web − http: //www. google. it/advanced_search? hl=it in cui la parte seguente il punto interrogativo (nella forma <query>=<query_utente>) rappresenta la query dell’utente − In una GET la lunghezza massima di <query_utente> è di 1024 caratteri; se eccede questo limite si usa il metodo POST • POST è usata anche per modificare i contenuti del web server (es. forum) • I browser solitamente fanno cache delle pagine web per velocizzare l’accesso a queste in caso debbano essere ricate − non vengono messe in cache le pagine relative a richieste POST − vengono messe in cache le pagine relative a richieste GET 25 Ottobre 2005 Stefano Clemente 4
Architettura di sistema • I web server fanno parte dell’architettura client-server a n livelli − ogni livello corrisponde a una specifica funzionalità − i livelli possono essere su macchine separate o sulla stessa macchina • Es. Architettura a tre livelli 25 Ottobre 2005 Stefano Clemente 5
Architettura di sistema • Database Server – Livello Informazione − Gestisce i dati utilizzati dalle applicazioni − Memorizza i dati in Relational Database Management System (RDBMS) • Web Server – Livello Medio − Realizza la business logic e la presentation logic − Controlla le interazioni tra i client e i dati dell’applicativo − Agisce da intermediario tra gli altri due livelli 25 Ottobre 2005 Stefano Clemente 6
Architettura di sistema • Web Server – Livello Medio (2) − Controller logic • Elabora le richieste dei client • Reperisce i dati dal DB − Presentation logic • Elabora i dati del livello informazione • Presenta i dati al client − Business logic • Rafforza le regole − Decide in che modo i client possono accedere ai dati e in che modo l’applicazione deve elaborarli • Assicura la validità dei dati prima di aggiornare il DB 25 Ottobre 2005 Stefano Clemente 7
Architettura di sistema • Client – Livello Client − Interfaccia utente dell’applicativo − Gli utenti interagiscono con l’applicazione attraverso l’interfaccia utente − Interagisce con il livello intermedio per fare richieste e per reperire dati sul DB − Mostra i dati all’utente 25 Ottobre 2005 Stefano Clemente 8
Script lato client o lato server? • Gli script lato client − servono per la validazione dei dati immessi dagli utenti − possono accedere al browser per utilizzare caratteristiche specifiche dello stesso e manipolare i documenti − migliorano le pagine web con Active. X®, applets, etc. • La validazione eseguita sul client − riduce il numero delle richieste fatte al server • Limiti degli script lato client − sono dipendenti dal browser − visibili agli utenti attraverso la visualizzazione del sorgente HTML della pagina • Java. Script è la tecnologia più popolare 25 Ottobre 2005 Stefano Clemente 9
Script lato client o lato server? • Script lato server − Forniscono una maggiore flessibilità nella scrittura dei programmi − Generano risposte personalizzate per i client − Hanno possibilità maggiori rispetto agli script lato client • gli script lato server possono accedere al file system del server • gli script lato client non possono accedere al file system del client − Possono accedere a software sul server per estendere le proprie funzionalità • Active. X – Microsoft Internet Information Server • Moduli – Apache 25 Ottobre 2005 Stefano Clemente 10
Microsoft Internet Information Server (IIS): Installazione 25 Ottobre 2005 Stefano Clemente 11
Microsoft Internet Information Server (IIS): Installazione 25 Ottobre 2005 Stefano Clemente 12
Microsoft Internet Information Server (IIS): Installazione 25 Ottobre 2005 Stefano Clemente 13
Microsoft Internet Information Server (IIS): Installazione 25 Ottobre 2005 Stefano Clemente 14
25 Ottobre 2005 Stefano Clemente 15
Apache: Installazione 25 Ottobre 2005 Stefano Clemente 16
Apache: Installazione 25 Ottobre 2005 Stefano Clemente 17
Apache: Installazione 25 Ottobre 2005 Stefano Clemente 18
Apache: Installazione 25 Ottobre 2005 Stefano Clemente 19
Apache: Installazione 25 Ottobre 2005 Stefano Clemente 20
Apache: Installazione 25 Ottobre 2005 Stefano Clemente 21
Apache: Installazione 25 Ottobre 2005 Stefano Clemente 22
Apache: Installazione 25 Ottobre 2005 Stefano Clemente 23
Apache: Installazione 25 Ottobre 2005 Stefano Clemente 24
25 Ottobre 2005 Stefano Clemente 25
Avvio e Arresto dei Web Server 25 Ottobre 2005 Stefano Clemente 26
25 Ottobre 2005 Stefano Clemente 27
25 Ottobre 2005 Stefano Clemente 28
Avvio e Arresto di IIS 25 Ottobre 2005 Stefano Clemente 29
Avvio e Arresto di Apache Se non si fosse riusciti a installare Apache come servizio bisogna eseguire in cmd il comando "C: ProgrammiApache GroupApache 2binApache. exe" -k install 25 Ottobre 2005 Stefano Clemente 30
La struttura delle directory di default: IIS 25 Ottobre 2005 Stefano Clemente 31
La struttura delle directory di default: Apache 25 Ottobre 2005 Stefano Clemente 32
Configurazione dei Web Server • Per studiare il modo di configurare i due web server creeremo una struttura di directory comune ai due web server − Creeremo la directory web sotto c: contenente • html • cgi-bin • icons sulla falsa riga della struttura di Apache e il file test. html sotto c: webhtml • Poiché entrambi sono in ascolto sulla porta 80, non è possibile avviarli contemporaneamente a meno di ridefinire la porta di ascolto; assegneremo − La porta 81 a IIS − La porta 82 a Apache In questo modo riusciremo a distinguere anche gli esempi che si riferiscono all’uno o all’altro web server 25 Ottobre 2005 Stefano Clemente 33
Configurazione di IIS 25 Ottobre 2005 Stefano Clemente 34
Configurazione di IIS 25 Ottobre 2005 Stefano Clemente 35
Configurazione di IIS 25 Ottobre 2005 Stefano Clemente 36
Configurazione di IIS • La versione di IIS per Windows XP è ridotta e non consente la definizione di più siti sullo stesso server − è possibile sulle versioni server di Windows • Modifichiamo la porta settando la porta 81 • Modifichiamo la home-directory di default in c: webhtml • Per modificare le proprietà del sito − cliccare con il tasto destro del mouse sul sito predefinito − dal menu pop-up scegliere “Proprietà” 25 Ottobre 2005 Stefano Clemente 37
Configurazione di IIS 25 Ottobre 2005 Stefano Clemente 38
Configurazione di IIS 25 Ottobre 2005 Stefano Clemente 39
Configurazione di IIS 25 Ottobre 2005 Stefano Clemente 40
Configurazione di IIS 25 Ottobre 2005 Stefano Clemente 41
Configurazione di IIS 25 Ottobre 2005 Stefano Clemente 42
Configurazione di IIS • Una volta avviato IIS…. 25 Ottobre 2005 Stefano Clemente 43
Configurazione di Apache • Per Apache non esiste un tool grafico, ma un file di configurazione da editare a mano − "C: ProgrammiApache GroupApache 2confhttpd. conf“ − Si possono usare editor come “Blocco Note” di windows − Cercare le stringhe da modificare con la funzione di ricerca (in “Blocco Note”: menu Modifica → Trova • Modifiche a httpd. conf − − − Listen 82 Server. Name <fully_qualified_domain_name>: 82 Document. Root "C: /web/html“ <Directory " C: /web/html"> Directory. Index test. html 25 Ottobre 2005 Stefano Clemente 44
Configurazione di Apache 25 Ottobre 2005 Stefano Clemente 45
Configurazione di Apache • Una volta avviato Apache…. 25 Ottobre 2005 Stefano Clemente 46
Le altre directory • Nelle configurazioni viste finora, non c’è alcun accenno alle altre due directory di c: web • Secondo le configurazioni attuali sui due web server possiamo accedere solo ai documenti e directory contenute in c: webhtml; se infatti copiassimo test. html anche sotto le altre due directory…. . 25 Ottobre 2005 Stefano Clemente 47
Le altre directory IIS Apache 25 Ottobre 2005 Stefano Clemente 48
Le altre directory: icons • Per la directory icons i due server restituiscono lo stesso errore • È infatti una directory che non è situata sotto la root directory del server (c: webhtml) • La configurazione da eseguire sui server deve permettere di rendere valida la URL http: //<nome_host>/icons/test. html • Questo vuol dire − per IIS creare una directory virtuale − per Apache creare un alias 25 Ottobre 2005 Stefano Clemente 49
icons: configurazione di IIS 25 Ottobre 2005 Stefano Clemente 50
icons: configurazione di IIS 25 Ottobre 2005 Stefano Clemente 51
icons: configurazione di IIS 25 Ottobre 2005 Stefano Clemente 52
icons: configurazione di IIS 25 Ottobre 2005 Stefano Clemente 53
icons: configurazione di Apache • Modifiche a httpd. conf − Alias /icons/ "C: /web/icons/" − <Directory "C: /web/icons"> Options Indexes Multi. Views Allow. Override None Order allow, deny Allow from all </Directory> • Riavvio di Apache!!! 25 Ottobre 2005 Stefano Clemente 54
8f435fad81615465ff434efd1d56b154.ppt