Modulo 1: Server HTTP

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Modulo 1: Server HTTP"

Transcript

1 Parte 3 Modulo 1: Server HTTP Apache: A patchy server 1994: public domain HTTP daemon (NCSA) sviluppato da Rob McCool al National Center for Supercomputing Applications, University of Illinois, Urbana-Champaign Necessità di modifiche (patches) Feb. 1995: un gruppo di Webmaster si coordinano creando l Apache Group Brian Behlendorf Roy T. Fielding Rob Hartill David Robinson Cliff Skolnick Randy Terbush Robert S. Thau Andrew Wilson with additional contributions Eric Hagberg Frank Peters Nicolas Pioch Sistemi e Servizi di Rete - LS 2005/2006 Server Web 3.2

2 Software per server Web oggi Fonte: Netcraft Web Server Survey (http://www.netcraft.com/survey/) Server Web più diffusi: Apache,, Microsoft Internet Information Server, altri Sistemi (SunONE, e Servizi di Rete Zeus, - LS iplanet 2004/2005 Web Server Server, Web ) 3.3 Apache: caratteristiche APACHE = A Patchy Server (http://www.apache.org) Sviluppato a partire dal server NCSA nel 1994 Disponibilità del codice sorgente (progetto open-source) Portabilità: supporto dei SO Linux, Unix, Windows NT/9x, OS/2, Efficienza, flessibilità Supporto dei più recenti protocolli (compatibilità HTTP/1.1) Stabilità ed affidabilità Processo di sviluppo open Modularità Nucleo (core) molto piccolo che realizza le funzionalità di base Possibilità di estendere le funzionalità mediante moduli (scritti usando l Apache module API) compilati staticamente nel nucleo oppure caricati dinamicamente a tempo di esecuzione Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.4

3 Apache: caratteristiche (2) Apache rende disponibili anche le seguenti funzionalità: autenticazione personalizzazione dei messaggi di errore possibilità illimitata di URL rewriting e Aliasing negoziazione dei contenuti virtual hosting (multi-homed servers ovvero più siti Web sullo stesso server) personalizzazione dei logfile Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.5 Uso dei socket Due processi comunicano inviando dati in un socket e leggendo dati da un socket Paradigma client/server Due tipi di servizio di trasporto possibili UDP: datagram non affidabile e non orientato alla connessione TCP: stream (flusso) di byte orientato alla connessione ed affidabile Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.6

4 Interfaccia di socket Socket - astrazione del sistema operativo (non hardware) - creato dinamicamente - persiste soltanto durante l esecuzione dell applicazione - identificato tramite un descrittore (concetti di UNIX I/O) Descrittore - un intero - uno per ogni socket attivo - significativo soltanto per l applicazione che possiede il socket Funzionalità di socket - struttura socket è completamente generale, che può essere usato: - dal client - dal server - con un protocollo di trasporto orientato alla connessione (TCP) - con un protocollo di trasporto privo di connessione (UDP) - per inviare, ricevere dati Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.7 Fasi di una comunicazione Dichiarazione al sistema operativo che si intende instaurare una connessione con specifica delle caratteristiche Apertura della connessione (differente dal lato server rispetto al lato client): il server assume di definire la connessione prima del client, e rimane in attesa che il client si connetta alla porta specificata il client assume che il server sia già attivo e prova a connettersi specificando indirizzo e porta del server Scambio di dati bidirezionale (trasmissione e ricezione) Chiusura della connessione Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.8

5 Operazioni con socket - creazione descriptor = socket(protofamily, type, protocol) descriptor: è un intero protofamily: PF_INET per Internet type: SOCK_STREAM o SOCK_DGRAM - chiusura close (socket) descriptor - binding (usata dal server per fornire un numero di porta) bind(socket, localaddr, addrlen) descriptor indirizzo su cui ascoltare address len Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.9 Operazioni con socket (2) - ascolto descriptor listen(socket, queuesize) backlog usata dal server per preparare il socket a ricevere una connessione il SO costruisce una coda di richieste per ciascun socket - accettazione di una nuova richiesta di connessione newsock = accept(socket, caddress, caddresslen) descriptor client address (output param) address len usata dal server: attende nuova connessione (anche in coda) e crea un nuovo socket chiamata successivamente a socket() e bind() da un server che un usa un protocollo di trasporto orientato al servizio la struttura caddress e caddresslen sono riempite da accept() newsock: descrittore del nuovo socket Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.10

6 Operazioni con socket (3) - instaurazione di una connessione connect(socket, saddress, saddresslen) descriptor server address addr len è la procedura usata dal client per contattare un server che ha chiamato accept() protocollo orientato alla connessione: connect() inizia la connessione protocollo privo di connessione: connect() segna il socket come connessa e registra l indirizzo del server - invio di un messaggio: options send(socket, data, length, flags) descriptor data ptr data len Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.11 Programmazione con socket TCP Il client deve contattare il server il processo server deve essere in esecuzione il server deve aver creato il socket su cui accettare il contatto del client Il client contatta il server creando un socket TCP locale al client specificando l indirizzo IP e il numero di porta del processo server Quando il client crea il socket: il client instaura la connessione al server TCP Quando è contattato dal client, il server TCP crea un nuova istanza di socket per far comunicare il processo server con il client Punto di vista dell applicazione TCP fornisce un trasferimento di byte (pipe) affidabile, in sequenza, tra client e server Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.12

7 Programmazione con socket TCP (2) Per l applicazione: - la connessione TCP è un collegamento diretto tra il socket del client ed il socket di connessione del server - il client può inviare i byte nel suo socket: TCP garantisce che il server riceverà (tramite il socket di connessione) ogni byte nello stesso ordine in cui è inviato creato a partire da welcoming socket tramite accept Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.13 Esempio client/server Esempio client/server di programmazione con socket - il server conta il numero di client che accedono al suo servizio - il client contatta il server per conoscere tale numero - messaggio ASCII stampabile - esecuzione sequenziale (non concorrente) Client - apre la connessione con il server - ripete finché end-of-file: ricevi testo stampa caratteri ricevuti - chiude la connessione -esce Server - crea il socket e si pone in attesa - ripete forever: accetta nuova connessione, prende un nuovo socket incrementa il contatore ed invia il messaggio chiude il socket per la connessione Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.14

8 Uso dei socket nell esempio: Esempio client/server (2) - Il client chiude il socket dopo l uso - Il server non chiude mai il socket originale Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.15 Server HTTP (es., richiesta oggetto statico) Client (browser) DNS Server HTTP DNS lookup Coda SYN-RCVD Coda ACCEPT TCP SYN TCP ACK richiesta HTTP (GET) TCP SYN-ACK Listen Socket ACCEPT dati dalla memoria risposta HTTP dati dal disco CPU memoria disco Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.16

9 Richiesta HTTP GET / HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-us; rv:1.7.6) Gecko/ Epiphany/1.6.2 (Debian) Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/ plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: it-it,it;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO ,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive RIGA VUOTA MARCA LA FINE DELL'HEADER DELLA RICHIESTA Risposta HTTP HTTP/ OK Date: Mon, 18 Apr :20:46 GMT Server: Apache/ (Debian GNU/Linux) DAV/2 PHP/ mod_ssl/ OpenSSL/0.9.7e mod_perl/ Perl/v5.8.4 Last-Modified: Mon, 02 Aug :28:56 GMT ETag: "2a446d-102e-f1cdf200" Accept-Ranges: bytes Content-Length: 4142 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html RIGA VUOTA MARCA LA FINE DELL'HEADER DELLA RISPOSTA SEGUONO DATI

10 Tre modalità di gestione richieste HTTP Process o (2) server for Process k o figlio Richiest a htt (1p Rispost ) a htt p (4 ) (b ) Browse r Richiest a htt p (a ) Piattaform a client Richiest a htt p (i Rispost ) a htt p (c ) thread 1 thread 2 thread 3 thread 4 process olistenerdispatcher(ii helper ) (iii ) Rispost a htt p 1 helper 2 helper 3 (iv ) Metodo fork (3 ) Metodo multithread Piattaforma server Metodo helper Apache 1.3.x Apache 2.x Sistemi e Servizi di Rete - LS 2005/2006 Server Web 3.19 Metodo fork Per ogni nuova richiesta che arriva il server: crea una nuova copia di se stesso (processo child) alla quale affida la gestione della richiesta (tramite la system call fork()) si mette subito in attesa di nuove richieste la copia clonata (il processo child) si occupa di soddisfare la richiesta e poi termina Vantaggi Il codice del server rimane semplice, poiché la clonazione è demandata in toto al sistema operativo Svantaggi Il tempo di generazione del clone può non essere trascurabile rispetto al tempo di gestione della richiesta, introducendo così un overhead che può penalizzare l'efficienza del sistema Sistemi e Servizi di Rete - LS 2005/2006 Server Web 3.20

11 Metodo helper Esistono alcuni processi per il servizio delle richieste (processi helper) ed un processo dispatcher: il processo dispatcher rimane sempre in ascolto delle richieste quando arriva una richiesta, la assegna ad un processo helper che la gestisce e trasferisce la connessione al processo helper prescelto Vantaggi i processi helper sono creati una sola volta e poi riusati (si evita l overhead dovuto alla fork()) maggiore semplicità e portabilità rispetto al metodo multithreading Svantaggi il processo dispatcher può divenire il collo di bottiglia scelta del numero di processi helper da (pre-)attivare Sistemi e Servizi di Rete - LS 2005/2006 Server Web 3.21 Metodo multi-threaded Esiste una sola copia del server che è in grado di generare thread multipli di esecuzione: il thread principale rimane sempre in ascolto delle richieste quando arriva una richiesta, genera un nuovo thread che la gestisce e poi termina ogni thread possiede una copia privata della connessione gestita, ma condivide con gli altri thread uno spazio di memeoria centrale (il codice del programma e le variabili globali) Vantaggi la creazione di un thread è molto più veloce di una fork() minore overhead per il context switching Svantaggi maggiore complessità del codice del server (gestione dei thread) il sistema operativo deve offrire delle librerie di supporto al multithreading (ad es., Linux/UNIX, Windows 2000) Sistemi e Servizi di Rete - LS 2005/2006 Server Web 3.22

12 Parte 3 Modulo 2: APACHE internals Directory in Apache Apache utilizza le seguenti directory fondamentali: ServerRoot Punto di origine dei file di amministrazione (/etc/httpd/) File di configurazione principale: httpd.conf DocumentRoot Punto di origine dei documenti (/home/httpd/html/) Programmi CGI Directory contenente script CGI (/usr/lib/cgi-bin/) Icone di sistema UserDir Directory contenente le pagine Web degli utenti del sistema (/home/*/public_html/) Server Root Document Root conf logs mod. html cgibin icons Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.24

13 (Premessa su Inetd) Inetd è l Internet super deamon: Ovvero un processo che rimane in ascolto su più socket e, ogni qualvolta arriva una richiesta, attiva il relativo demone in grado di gestirla correttamente Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.25 Apache: il servizio HTTP Il servizio HTTP è gestito dal demone httpd I file di configurazione vengono letti al momento dell avvio di httpd httpd può essere avviato direttamente dal sistema di inizializzazione (init), oppure può essere controllato da inetd 8 httpd 0 2 3x telnetd x inetd ftpd HTTP d S.O. Conf files We b file s Log files traianus:~$ pstree -p 629 httpd(629)-+-httpd(2051) -httpd(2052) -httpd(2053) -httpd(2054) -httpd(2056) -httpd(2057) -httpd(8162) -httpd(8362) `-httpd(14823) Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.26

14 Servizio richieste multiple Server sequenziale con accodamento delle richieste multiple Server concorrente Servizio parallelo mediante fork() Servizio parallelo mediante processi helper Servizio parallelo con thread Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.27 Metodo con processi helper Meccanismo usato da Apache 1.3 Si creano processi di appoggio pre-attivati Quando arriva una richiesta Il processo principale accetta la richiesta Smista la richiesta verso un processo helper Il processo helper serve la richiesta Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.28

15 Architettura software di Apache Apache è basato sul modello process-driven (mentre Apache 2.0 è caratterizzato da una implementazione multi-threaded) processo parent che ascolta le richieste e le assegna ad un processo child preforking dei processi child, in numero definito dalla direttiva StartServers (5) limite sul numero di processi child, definito dalla direttiva MaxClients (256) limite sul numero minimo e massimo di processi child idle, definito rispettivamente dalle direttive MinSpareServers (5) and MaxSpareServers (10) numero massimo di richieste HTTP servite da ciascun processo child, definito dalla direttiva MaxRequestsPerChild (30) Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.29 Ciclo di vita di Apache 1.3 Inizializzazione e configurazione del server Inizializzazione dei moduli Inizializzazione server secondario Inizializzazione server secondario Inizializzazione server secondario Ciclo delle richieste Ciclo delle richieste Ciclo delle richieste Termine esecuzione Termine esecuzione Termine esecuzione Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.30

16 Ciclo delle richieste La gestione della richiesta HTTP si suddivide in fasi successive, durante le quali vengono prese delle decisioni circa la richiesta (elaborata, scartata oppure passata intatta alla fase successiva) Le fasi possono essere trattate dal nucleo di base di Apache (ad es., l ascolto ed analisi di una richiesta, l invio della risposta HTTP) oppure da moduli esterni Se non viene definito alcun modulo gestore per una determinata fase, Apache manda in esecuzione il gestore di default Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.31 Ciclo delle richieste (2) REQUEST Wait Post-Read-Request URI Translation Cleanup Header Parsing Access Control Authentication Authorization Logging MIME Type Checking RESPONSE Fixup Documento Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.32

17 Ciclo delle richieste (3) Post-Read-Request vengono estratti i valori dei campi principali presenti nella richiesta HTTP e vengono inizializzate le strutture dati che verranno utilizzate successivamente dai moduli che implementano le varie fasi di gestione URI Translation L URI richiesto può riferirsi ad un file fisico, ad una risorsa dinamica prodotta da uno script esterno, oppure ad un documento generato da un modulo interno. Il server deve sapere come individuare il documento, prima di poter effettuare decisioni successive: è necessaria la conversione da URL a risorsa presente sul server. Le direttive standard di Apache Alias, ScriptAlias e DocumentRoot permettono ad esempio di tradurre l URI nel nome di un file presente nell albero dei documenti. Moduli esterni come il mod_rewrite possono assumere il controllo di questa fase ed effettuare traduzioni più sofisticate. Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.33 Ciclo delle richieste (4) Header Parsing Analisi dell header della richiesta HTTP, al fine di estrarre informazioni utili sul client Access control Identificazione della locazione di provenienza della richiesta (indirizzo IP) Authentication Identificazione del cliente che ha effettuato la richiesta Authorization Si stabilisce se il cliente possiede i diritti di accesso per il documento richiesto Mime type checking Individuazione del tipo MIME del documento richiesto. Il server deve sapere il tipo della modalità di elaborazione richiesta (prelievo file da disco, generazione dinamica di un documento) prima di poter preparare la risposta. Noto il tipo del file, Apache individua il gestore opportuno per la fase di risposta. Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.34

18 Ciclo delle richieste (5) Fixup Fase introdotta per permettere l esecuzione di un qualunque tipo di operazione prima dell invio della risposta. Response Le informazioni riguardanti il documento vengono passate al gestore opportuno (content handler), che si occupa di costruire l header della risposta HTTP e di spedirlo al client. Successivamente, creazione del contenuto del documento (ad es., letto dal disco) ed invio al client. In caso di errore, il gestore invia un codice di errore opportuno al server, che lo notifica al client. Logging L esito delle operazioni effettuate viene scritto su file. Apache fornisce un supporto per il logging degli accessi e degli errori, che può essere modificato oppure esteso. Cleanup Operazioni di chiusura, con cui i moduli possono deallocare le risorse utilizzate (ad es., liberare memoria principale, chiudere file). Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.35 Parte 3 Modulo 3: Altre caratteristiche di Apache

19 Moduli di Apache L architettura modulare di Apache permette di aggiungere o eliminare funzionalità semplicemente attivando o disattivando moduli software I moduli possono essere caricati staticamente e dinamicamente I moderni SO consentono di utilizzare il meccanismo detto linking/loading o Dynamic Shared Objects (DSO) che permette di costruire un pezzo di codice di programma in un formato speciale e di caricarlo a run-time nello spazio di indirizzamento del programma eseguibile I moduli sono scritti in linguaggio C o PERL Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.37 Categorie di Moduli di Apache Core: direttive principali Environment Creation: direttive per la gestione dell ambiente di lavoro Content Type Decisions: determinazione del contenuto dei documenti e negoziazione dei contenuti URL Mapping: aliasing, url rewriting, virtual hosting Directory Handling: gestione delle directory Access Control: controllo di accesso e autenticazione (MD5) HTTP Response: funzionalità di risposta Dynamic Content: gestione dei contenuti dinamici Internal Content Handlers: gestione di stato del sistema e informazioni sulla configurazione Logging: gestione dei logfile Miscellaneous: gestione immagini, caching (es., proxy) Sistemi e Servizi di Rete - LS 2004/2006 Web Server 3.38

20 Considerazioni sulla sicurezza Il daemon httpd viene normalmente avviato con i privilegi dell'utente root PERICOLOSISSIMO Quindi, attraverso delle opportune chiamate di sistema, httpd cambia questi privilegi portandoli a quelli dell'utente e del gruppo specificati con le direttive User e Group del file httpd.conf È molto importante che l'utente e il gruppo corrispondano a nobody o altro utente non privilegiato, e devono poi essere regolati i permessi delle directory I file di configurazione e di registrazione degli eventi di Apache non devono essere accessibili in scrittura da parte degli utenti normali (di qualunque tipo siano, escluso root). Nello stesso modo, non devono essere modificabili le directory che li contengono. Sistemi e Servizi di Rete - LS 2054/2006 Web Server 3.39 Considerazioni sulla sicurezza I file che compongono i documenti ipertestuali devono essere accessibili solo in lettura agli utenti normali, così le directory non devono essere modificabili, eccetto i permessi che può avere root È consigliabile utilizzare la direttiva SymLinksIfOwnerMatch per evitare problemi da parte degli utenti che hanno la possibilità di creare documenti HTML a partire dalla loro directory personale È bene evitare di permettere l utilizzo di script CGI al di fuori della directory definita con la direttiva ScriptAlias nel file di configurazione È opportuno evitare di concedere agli utenti normali di modificare le impostazioni attraverso i file.htaccess. Ciò si ottiene con la direttiva AllowOverride None Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.40

21 Logfile I logfile permettono di monitorare gli accessi ad un server Web Le informazioni che possono essere memorizzate nel logfile sono quelle che viaggiano all interno dei messaggi di richiesta e risposta che il server scambia con il client usato dagli utenti Generalmente i server Web permettono di definire quali campi dei messaggi devono essere memorizzati generando così dei logfile custom in modo da soddisfare al meglio le necessità dell amministratore del sito Web Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.41 Dati estraibili da un logfile Orari di maggiore traffico Tipologia degli utenti (browser utilizzato, provenienza geografica Pagine più popolari Quali siti fanno riferimento al proprio Attenzione: la presenza di proxy intermedi tra client e server Web può falsare i risultati Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.42

22 Utilità dei logfile Monitorare lo stato del server Capacity planning Billing Attack detection Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.43 Esempio di log file [14/Oct/2002:18:00: ] "GET /icons/apache_pb.gif HTTP/1.1" "http://localhost/" "Mozilla/5.0 Galeon/1.2.6 (X11; Linux i686; U;) Gecko/ Debian/ " [14/Oct/2002:16:06: ] "GET /default.ida?nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090%u6858%u cbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190 %u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a HTTP/1.0" "-" "-"

23 Parte 3 Modulo 4: Note su Apache 2.0 e 2.2 Uno sguardo a Apache 2.0 Mutlithread Migliore supporto per architetture non Unix Supporto Ipv6 Migliore integrazione con Perl Moduli in cascata... Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.46

24 Metodo a thread Meccanismo usato da Apache 2.0 (usa anche processi helper) Al posto di fork() si usano funzioni tipo pthread_create(), meno onerose e che quindi richiedono meno tempo al Sistema Operativo Svantaggi: Programmazione più difficile Sistema più vulnerabile a crash Sistemi e Servizi di Rete - LS 2005/2006 Web Server 3.47 Esempio di crash: Processo Thread un processo molti thread molti processi più thread per processo molti processi un thread per processo

25 Esempio di crash: Processo Thread un processo molti thread molti processi più thread per processo molti processi un thread per processo molto veloce poco sicuro soluzione intermedia molto sicuro poco veloce MPM in Apache 2.0 MPM=multi process model Modelli di thread nativi beos mpmt_os2 mpm_winnt Modelli di thread unix oriented prefork (massima stabilità) worker (massime prestazioni) perchild

26 Configurazione di Apache conf/httpd.conf 3 sezioni impostazioni globali impostazioni del server di default impostazioni dei virtual server ServerRoot PidFile Timeout Connessioni persistenti Keepalive MaxKeepAliveRequests KeepAliveTimeout Listen LoadModule Impostazioni globali MPM prefork Un processo principale Processi aggiuntivi per il servizio di connessioni Parametri: StartServers MinSpareServers MaxSpareServers MaxClients MaxRequestPerChild

27 MPM worker Un processo principale Processi ausiliari con thread multipli Parametri: ThreadsPerChild StartServers MinSpareThreads MaxSpareThreads MaxClients ServerLimit, ThreadLimit Impostazioni server di default ServerName DocumentRoot <Directory> </Directory> Options Indexes, Includes FollowSymLinks, SymLinksIfOwnerMatch ExecGCI AllowOverride Allow, Deny UserDir Logging ErrorLog CustomLog Alias, ScriptAlias

28 Migliorie in Apache 2.2 Modifiche a livello di sistema Migliorie generali in diversi moduli (cache, auth,...) Supporto avanzato per proxy con bilanciamento di richieste Supporto per file >2GB Nuova struttura nella configurazione Nuovo MPM Event per connessioni keep alive Nuovi moduli Nuovi moduli per la'utenticazionedegli utenti Migliorie in Apache 2.2 Nuovi strumenti per gli sviluppatori Framework per connettersi a DBMS (basato su mod_dbd) Supporto per API SQL-compliant Le nuove funzioni sono disponibili per ogni modulo Nuovo engine per regular expression Le funzioni sono disponibili nel namespace di funzioni ap_ Rimuove conflitti con altre funzioni POSIX

29 Nuova struttura file di configurazione Configurazione gerarchica Maggiore modularità: ogni elemento ha un suo frammento della configurazione in un file Più semplice aggungere/togliere elementi Compaiono nuove directory: Una directory a parte contiene solo le configurazioni dei moduli Un'altra directory è dedicata ai virtual hosts Un file per ogni modulo/virtual hosts Posso abilitare/rimuovere moduli facendo dei simlink di snippet standard di configurazione nelle directory Parte 3 Modulo 5: Esempi

30 Virtual hosts <VirtualHost><VirtualHost/> Name-based NameVirtualHost ServerName ServerAlias IP-based Non serve NameVirtualHost Access control AllowOverride AuthConfig Creazione file.htpasswd htpasswd(2) [-c] <file> <user> Nel file.htaccess AuthType Basic AuthName AuthUserFile, AuthGroupFile Require {valid-user user <user> group <group>}

Il server Web Apache. Apache: caratteristiche

Il server Web Apache. Apache: caratteristiche Il server Web Apache Valeria Cardellini Università di Roma Tor Vergata Apache: caratteristiche Apache: A PAtCHy Server (http://httpd.apache.org) Sviluppato sul server NCSA a partire dal 1994 Versione più

Dettagli

Apache: A PAtCHy server (http://httpd.apache.org)

Apache: A PAtCHy server (http://httpd.apache.org) Il server Web Apache Apache Apache: A PAtCHy server (http://httpd.apache.org) Sviluppato sulla base del server NCSA a partire dal 1994 Versione più recente: Apache 2.2 (ultima release: Apache 2.2.10) Free

Dettagli

Il server Web Apache. Apache

Il server Web Apache. Apache Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Il server Web Apache Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2008/09 Apache Apache: A PAtCHy server (http://httpd.apache.org)

Dettagli

Reti Informatiche Terza Esercitazione. Apache Server

Reti Informatiche Terza Esercitazione. Apache Server Reti Informatiche Terza Esercitazione Apache Server Sommario Aspetti preliminari architettura di riferimento cenni al protocollo HTTP Uniform Resource Identifier (URI) Configurazione del server web Apache

Dettagli

Ottava Esercitazione

Ottava Esercitazione Ottava Esercitazione Sommario Aspetti preliminari architettura di riferimento cenni al protocollo HTTP Uniform Resource Identifier (URI) Configurazione del server web Apache file di configurazione invocazione

Dettagli

Apache: A PAtCHy server (http://httpd.apache.org)

Apache: A PAtCHy server (http://httpd.apache.org) Il server Web Apache Apache Apache: A PAtCHy server (http://httpd.apache.org) Sviluppato sulla base del server NCSA a partire dal 1994 Versione più recente: Apache 2.2 (ultima release: Apache 2.2.15 Free

Dettagli

Web Server. Corso di Applicazioni Telematiche. A.A. 2006-07 Lezione n.5 Prof. Roberto Canonico

Web Server. Corso di Applicazioni Telematiche. A.A. 2006-07 Lezione n.5 Prof. Roberto Canonico Web Server Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.5 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Web Server Per realizzare un sistema web

Dettagli

Corso LAMP. Linux Apache Mysql Php

Corso LAMP. Linux Apache Mysql Php Corso LAMP Linux Apache Mysql Php Terzo Incontro * Reti basate su TCP/IP * Impostazione della rete su GNU/Linux * Gestione del software su Debian e derivate * Il web Server Apache * Configurazione principale

Dettagli

Download, configurazione ed installazione di apache

Download, configurazione ed installazione di apache INDICE INDICE... - 1 - Introduzione... - 3 - Caratteristiche principali... - 3 - Breve descrizione dell architettura... - 3 - Download, configurazione ed installazione di apache... - 3 - Configurazione

Dettagli

Complementi di Tecnologie Web

Complementi di Tecnologie Web Complementi di Tecnologie Web Gli argomenti trattati nel corso sono divisi in due moduli: Tecnologie web lato server Docenti: Vincenzo Della Mea, Ivan Scagnetto Tecnologie XML Docente: Massimo Franceschet

Dettagli

Laboratorio di Progettazione Web

Laboratorio di Progettazione Web Il Server web Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR - c.renso@isti.cnr.it E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta

Dettagli

Il server Web libero per eccellenza: APACHE. Marco Paviotti & Matteo Cicuttin

Il server Web libero per eccellenza: APACHE. Marco Paviotti & Matteo Cicuttin Il server Web libero per eccellenza: APACHE Marco Paviotti & Matteo Cicuttin Cos è? Un web server è un programma che si occupa di fornire, su richiesta del browser una pagina web (spesso scritta in HTML).

Dettagli

Argomenti Percorso 7 Apache HTTP

Argomenti Percorso 7 Apache HTTP Apache httpd Directory importanti File di configurazione Permessi d accesso Virtual Host Moduli ed estensioni SSL e https PHP Argomenti Percorso 7 Apache HTTP 2 httpd.apache.org Percorso 7 Apache HTTP

Dettagli

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

Dettagli

Paradigma client-server

Paradigma client-server Interazione Client Server (socket) Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 15 CliSer - 1/31 Paradigma client-server Le applicazioni utente devono interagire con

Dettagli

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

Dettagli

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

Dettagli

Assignment (1) - Varie

Assignment (1) - Varie Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin chiara.braghin@unimi.it! Assignment (1) - Varie Al link http://www.dti.unimi.it/braghin/ elementi/lab/lista_consegnati.pdf

Dettagli

Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin chiara.braghin@unimi.it!

Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin chiara.braghin@unimi.it! Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin chiara.braghin@unimi.it! Assignment (1) - Varie Al link http://www.dti.unimi.it/braghin/ elementi/lab/lista_consegnati.pdf

Dettagli

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 2

Reti di Calcolatori. Master Bio Info Reti e Basi di Dati Lezione 2 Reti di Calcolatori Sommario Software di rete TCP/IP Livello Applicazione Http Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) I Protocolli di comunicazione

Dettagli

Liberamente adattato da Linux Server per l'amministratore di rete di Silvio Umberto Zanzi

Liberamente adattato da Linux Server per l'amministratore di rete di Silvio Umberto Zanzi Liberamente adattato da Linux Server per l'amministratore di rete di Silvio Umberto Zanzi Web server Apache Un sito web notoriamente è costituito da un insieme di pagine web tra loro collegate e contenenti

Dettagli

Architetture Applicative Il Web

Architetture Applicative Il Web Architetture Applicative Il Web Alessandro Martinelli alessandro.martinelli@unipv.it 18 Marzo 2014 Architetture Architetture Web L Architettura Client-Server HTTP Protocolli di Comunicazione Fondamenti

Dettagli

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

Dettagli

Server web e protocollo HTTP

Server web e protocollo HTTP Server web e protocollo HTTP Dott. Emiliano Bruni (info@ebruni.it) Argomenti del corso Cenni generali sul web IIS e Apache Il server web Micsosoft Internet Information Server 5.0 Il server web Apache 2.0

Dettagli

Architetture Web Protocolli di Comunicazione

Architetture Web Protocolli di Comunicazione Architetture Web Protocolli di Comunicazione Alessandro Martinelli alessandro.martinelli@unipv.it 10 Maggio 2011 Architetture Web Architetture Web Protocolli di Comunicazione Il Client Side Il Server Side

Dettagli

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

Dettagli

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 roberto@security.dico.unimi.it

Dettagli

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

Dettagli

I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina

I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina M. Grotto R. Farina Sommario 1. Applicazioni Distribuite 2. I Socket Introduzione Interfacce e protocolli Descrizione Stile di comunicazione Namespace e protocollo Include e system call Creazione e chiusura

Dettagli

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

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);

Dettagli

Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin chiara.braghin@unimi.it!

Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin chiara.braghin@unimi.it! Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin chiara.braghin@unimi.it! Sicurezza del Web server Sicurezza Web Server (1) Perché attaccare un Web server? w Per

Dettagli

Sicurezza del Web server

Sicurezza del Web server Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin chiara.braghin@unimi.it! Sicurezza del Web server 1 Sicurezza Web Server (1) Perché attaccare un Web server? w Per

Dettagli

Configurazione avanzata di XAMPP

Configurazione avanzata di XAMPP Configurazione avanzata di XAMPP Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Apache Binding definisce su quali indirizzi

Dettagli

Apache Webserver. Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso

Apache Webserver. Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso Apache Webserver Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso Cos'è Apache? Dal sito http://httpd.apache.org: The Apache HTTP Server Project is an effort

Dettagli

Apache MySQL PHP - FTP

Apache MySQL PHP - FTP Apache MySQL PHP - FTP Scelta del software, Installazione e configurazione Ivan Grimaldi grimaldi.ivan@gmail.com HcssLug GNU/LINUX USERS GROUP Outline Cenni sul funzionamento di un WebServer Apache, PHP,

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

HTTP adaptation layer per generico protocollo di scambio dati

HTTP adaptation layer per generico protocollo di scambio dati HTTP adaptation layer per generico protocollo di scambio dati Sandro Cavalieri Foschini 101786 Emanuele Richiardone 101790 Programmazione in Ambienti Distribuiti I - 01FQT prof. Antonio Lioy A.A. 2002-2003

Dettagli

CONFIGURAZIONE DEI SERVIZI (seconda parte)

CONFIGURAZIONE DEI SERVIZI (seconda parte) Corso ForTIC C2 LEZIONE n. 10 CONFIGURAZIONE DEI SERVIZI (seconda parte) WEB SERVER PROXY FIREWALL Strumenti di controllo della rete I contenuti di questo documento, salvo diversa indicazione, sono rilasciati

Dettagli

Il Web Server e il protocollo HTTP

Il Web Server e il protocollo HTTP Corso PHP Parte 2 Il Web Server e il protocollo HTTP E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta la esegue e restituisce il risultato al browser,

Dettagli

Uso di ACL per la protezione di una rete

Uso di ACL per la protezione di una rete Uso di ACL per la protezione di una rete Claudio Telmon Dipertimento di Informatica Università di Pisa Claudio Telmon - ACL per la protezione-1 Raccolta di informazioni Raccolta

Dettagli

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.2. 2 Novembre 2005 Laura Ricci IL DOMAIN NAME SYSTEM (DNS) Indirizzi IP poco adatti per essere memorizzati da utenti umani è prevista la possibiltà di associare nomi simbolici

Dettagli

Laboratorio di Programmazione in rete

Laboratorio di Programmazione in rete Laboratorio di rogrammazione in rete Introduzione alla programmazione C di socket A.A. 2005/06 Comunicazione tra computer Come far comunicare più computer su una rete? Una collezione di protocolli: TC/I

Dettagli

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 davide@security.dico.unimi.it Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Dipartimento

Dettagli

4 - Il livello di trasporto

4 - Il livello di trasporto Università di Bergamo Dipartimento di Ingegneria Gestionale e dell Informazione 4 - Il livello di trasporto Architetture e Protocolli per Internet Servizio di trasporto il livello di trasporto ha il compito

Dettagli

Il server web: Apache, IIS e PWS

Il server web: Apache, IIS e PWS IL SERVER WEB Corso WebGIS - Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it Il server web: Apache, IIS e PWS...1 Directory di default...2 Alias e cartelle virtuali...3

Dettagli

INFORMATICA DISTRIBUITA. lez 5 World Wide Web (cont)

INFORMATICA DISTRIBUITA. lez 5 World Wide Web (cont) INFORMATICA DISTRIBUITA prof. lez 5 World Wide Web (cont) Università degli Studi di Milano Scienze e Tecnologie della Comunicazione Musicale a.a. 2009-2010 Protocolli usabili nelle URL http: ftp: : http://www.dico.unimi.it/

Dettagli

CORSO WEB SERVER, DBMS E SERVER FTP

CORSO WEB SERVER, DBMS E SERVER FTP CORSO WEB SERVER, DBMS E SERVER FTP DISPENSA LEZIONE 1 Autore D. Mondello Transazione di dati in una richiesta di sito web Quando viene effettuata la richiesta di un sito Internet su un browser, tramite

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Meccanismi per la redirezione delle richieste in sistemi di server Web distribuiti geograficamente

Meccanismi per la redirezione delle richieste in sistemi di server Web distribuiti geograficamente Tesi di Laurea Meccanismi per la delle richieste in sistemi di server Web distribuiti geograficamente Candidato: Serena Ramovecchi Relatore: Prof. Salvatore Tucci Correlatrice: Ing. Valeria Cardellini

Dettagli

sshd (secure shell daemon) sshd (secure shell daemon) sshd (secure shell daemon) sshd (secure shell daemon)

sshd (secure shell daemon) sshd (secure shell daemon) sshd (secure shell daemon) sshd (secure shell daemon) sshd (secure shell daemon) ssh consente l'accesso ad una shell su di una macchina remota. I dati trasmessi sono cifrati, e per questo si può considerare l'evoluzione del servizio telnet, sempre meno utilizzato.

Dettagli

Servizi web in LabVIEW

Servizi web in LabVIEW Servizi web in LabVIEW Soluzioni possibili, come si utilizzano. 1 Soluzioni possibili WEB SERVER Dalla versione 5.1 di LabVIEW è possibile implementare un Web server che consente di operare da remoto sul

Dettagli

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it

Dettagli

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

Dettagli

Brusò Marco I.T.I.S. Zuccante A.S. 2013/2014 5 ISA 1/28

Brusò Marco I.T.I.S. Zuccante A.S. 2013/2014 5 ISA 1/28 Brusò Marco I.T.I.S. Zuccante A.S. 2013/2014 5 ISA 1/28 Indice 1. Introduzione 2. Linux 3. Apache 4. MySQL 5. MariaDB 6. PHP 7. Perl 8. Phyton 9. Installazione Server LAMP su Ubuntu 10. Fonti 2/28 LAMP

Dettagli

IPC Inter Process Communication

IPC Inter Process Communication Il protocollo TCP controlla che la trasmissione tra due end points avvenga correttamente. Non stabilisce alcun criterio su chi deve iniziare la comunicazione. Questo compito è svolto dalle applicazioni

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II Lezione 5 Martedì 18-03-2014 1 Livello di applicazione Architetture

Dettagli

Apache e Internet. Apache: anatomia di un server di rete

Apache e Internet. Apache: anatomia di un server di rete 1 Apache e Internet Questo capitolo è un introduzione ad Apache, HTTP (Hypertext Transfer Protocol) e alle problematiche delle reti. È destinato a coloro che non hanno mai utilizzato Apache e i server

Dettagli

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

Dettagli

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

Dettagli

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

Dettagli

Introduzione a XAMPP. Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica

Introduzione a XAMPP. Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Introduzione a XAMPP Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Introduzione applicazione web richiede diversi componenti

Dettagli

Sommario. Introduzione ai firewall. Firewall a filtraggio dei pacchetti. Il firewall ipfw. Definizione e scopo Classificazione

Sommario. Introduzione ai firewall. Firewall a filtraggio dei pacchetti. Il firewall ipfw. Definizione e scopo Classificazione Sesta Esercitazione Sommario Introduzione ai firewall Definizione e scopo Classificazione Firewall a filtraggio dei pacchetti Informazioni associate alle regole Interpretazione delle regole Il firewall

Dettagli

Il protocollo HTTP ed il server Apache

Il protocollo HTTP ed il server Apache Dal sito web della Software Foundation: Il progetto del server HTTP è uno sforzo di sviluppare e mantenere un server HTTP Open Source per i moderni sistemi operativi, compreso UNIX e Windows NT. L'obiettivo

Dettagli

TCP/IP. Principali caratteristiche

TCP/IP. Principali caratteristiche TCP/IP Principali caratteristiche 1 TCP/IP Caratteristiche del modello TCP/IP Struttura generale della rete Internet IL MONDO INTERNET Reti nazionali e internazionali ROUTER Rete Azienade ROUTER ROUTER

Dettagli

appunti delle lezioni Architetture client/server: applicazioni client

appunti delle lezioni Architetture client/server: applicazioni client Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un esempio particolarmente

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier Fondamenti di Internet e Reti Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier Fondamenti di Internet e Reti Programmazione Socket Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

Dettagli

url uniform resource locator

url uniform resource locator url uniform resource locator m. patrignani nota di copyright questo insieme di slides è protetto dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente,

Dettagli

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Dettagli

Corso GNU/Linux - Lezione 6. Davide Giunchi - davidegiunchi@libero.it

Corso GNU/Linux - Lezione 6. Davide Giunchi - davidegiunchi@libero.it Corso GNU/Linux - Lezione 6 Davide Giunchi - davidegiunchi@libero.it Riepilogo TCP/IP Ogni host nella rete deve avere un proprio indirizzo ip Due o piu computer nella stessa rete, per poter comunicare

Dettagli

Hackathon Developers User Guide

Hackathon Developers User Guide Hackathon Developers User Guide Indice 1. Descrizione del Framework IoT...2 1.1 Informazioni fornite dalla filiera Alimentare...3 1.2 Interfaccia Applicativa...6 1.2.1 Richiesta di Sottoscrizione dati...7

Dettagli

Parte II: Reti di calcolatori Lezione 9

Parte II: Reti di calcolatori Lezione 9 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II: Reti di calcolatori Lezione 9 Giovedì 2-04-2015 1 Come per una pagina Web, anche

Dettagli

Socket. Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server.

Socket. Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale architettura consente ai sistemi di condividere risorse e cooperare per il raggiungimento

Dettagli

Reti basate sulla stack di protocolli TCP/IP

Reti basate sulla stack di protocolli TCP/IP Reti basate sulla stack di protocolli TCP/IP Classe V sez. E ITC Pacioli Catanzaro lido 1 Stack TCP/IP Modello TCP/IP e modello OSI Il livello internet corrisponde al livello rete del modello OSI, il suo

Dettagli

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.3 9 novembre 2005 Laura Ricci IL LIVELLO TRASPORTO realizza un supporto per la comunicazione logica tra processi distribuiti comunicazione logica = astrazione che consente

Dettagli

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

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 200, ore 1.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

Xampp. Valeriano Maysonnave - A.A. 2014/2015 -

Xampp. Valeriano Maysonnave - A.A. 2014/2015 - Xampp Valeriano Maysonnave - A.A. 2014/2015-1 Introduzione...1 2 Installazione su Windows...1 3 Configurazione Apache...2 3.1 Accesso al file di configurazione httpd.conf...2 3.2 Il file httpd.conf...3

Dettagli

Tipi fondamentali di documenti web

Tipi fondamentali di documenti web Tipi fondamentali di documenti web Statici. File associati al web server il cui contenuto non cambia. Tutte le richieste di accesso conducano alla visualizzazione della stessa informazione. Dinamici. Non

Dettagli

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer

Tecnologie per il Web. Il web: Architettura HTTP HTTP. SSL: Secure Socket Layer Tecnologie per il Web Il web: architettura e tecnologie principali Una analisi delle principali tecnologie per il web Tecnologie di base http, ssl, browser, server, firewall e proxy Tecnologie lato client

Dettagli

Introduzione a XAMPP. Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica

Introduzione a XAMPP. Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Introduzione a XAMPP Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Introduzione applicazione web richiede diversi componenti

Dettagli

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

Connessioni di rete. Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi. PdR_09010 - Stefano Millozzi

Connessioni di rete. Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi. PdR_09010 - Stefano Millozzi Connessioni di rete Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi 1 Socket orientato alla connessione o non orientato alla connessione 2 Socket in astratto 3 Socket modalità

Dettagli

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI) Reti Architettura a livelli (modello OSI) Prevede sette livelli: applicazione, presentazione, sessione, trasporto, rete, collegamento dei dati (datalink), fisico. TCP/IP: si può analizzare in maniera analoga

Dettagli

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Giampiero Allamprese 0000260193 PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Reti di Calcolatori LS prof. Antonio Corradi A.A. 2007/2008 ABSTRACT L obiettivo di questo progetto è la realizzazione

Dettagli

Laboratorio di Sistemi Operativi 29-01-2009. Cognome Nome Mat.

Laboratorio di Sistemi Operativi 29-01-2009. Cognome Nome Mat. Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet Indirizzi Internet e Protocolli I livelli di trasporto delle informazioni Comunicazione e naming in Internet Tre nuovi standard Sistema di indirizzamento delle risorse (URL) Linguaggio HTML Protocollo

Dettagli

Posta Elettronica e Web

Posta Elettronica e Web a.a. 2002/03 Posta Elettronica e Web Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Posta Elettronica

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Applicazioni distribuite

Applicazioni distribuite Applicazioni distribuite Maurizio Cozzetto 1 agosto 2009 Un pò di teoria Ricordiamo che un'applicazione distribuita è un'applicazione composta da più programmi (almeno 2) posti in esecuzione su macchine

Dettagli

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli Sommario Introduzione Architettura Client-Server Architettura a Due Livelli Architettura a Tre Livelli Server Web Browser Web Introduzione La storia inizia nel 1989 Tim Berners-Lee al CERN, progetto WWW

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli