Modulo 1: Server HTTP

Размер: px
Начинать показ со страницы:

Download "Modulo 1: Server HTTP"

Транскрипт

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 ( 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 ( 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" " "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ù

Подробнее

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

Подробнее

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)

Подробнее

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,

Подробнее

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

Подробнее

Cenni di programmazione distribuita in C++ Mauro Piccolo [email protected]

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

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

Reti di Telecomunicazione Lezione 7

Reti di Telecomunicazione Lezione 7 Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica [email protected] Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione

Подробнее

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

Подробнее

Inizializzazione degli Host. BOOTP e DHCP

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

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

Configurazione avanzata di XAMPP

Configurazione avanzata di XAMPP Configurazione avanzata di XAMPP Andrea Atzeni ([email protected]) Marco Vallini ([email protected]) Politecnico di Torino Dip. Automatica e Informatica Apache Binding definisce su quali indirizzi

Подробнее

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:

Подробнее

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 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta [email protected] http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1

Подробнее

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Подробнее

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected]

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected] POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Подробнее

Transmission Control Protocol

Transmission Control Protocol Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione

Подробнее

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 [email protected]

Подробнее

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Подробнее

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

Подробнее

Socket & RMI Ingegneria del Software - San Pietro

Socket & RMI Ingegneria del Software - San Pietro Socket & RMI Ingegneria del Software - San Pietro Socket È possibile trattare la comunicazione di rete allo stesso modo con cui è possibile trattare la lettura da file. La classe Socket rappresenta la

Подробнее

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls Università degli Studi di Pisa Dipartimento di Informatica NAT & Firewalls 1 NAT(NETWORK ADDRESS TRANSLATION) MOTIVAZIONI NAT(Network Address Translation) = Tecnica di filtraggio di pacchetti IP con sostituzione

Подробнее

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Подробнее

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Подробнее

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

Подробнее

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

Подробнее

Programmazione dei socket con TCP #2

Programmazione dei socket con TCP #2 I Il Server e il Client si scambiano messaggi attraverso la rete mediante un dell API (Application Programming Interface) Telematica II 10. Esercitazione/Laboratorio 3 Server ports Clients user space Socket

Подробнее

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

Подробнее

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Подробнее

Gestione degli indirizzi

Gestione degli indirizzi Politecnico di Milano Facoltà di Ingegneria dell Informazione Gestione degli indirizzi -Address Resolution Protocol (ARP) -Reverse Address Resolution Protocol (RARP) -Dynamic Host Configuration Protocol

Подробнее

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica [email protected] Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Подробнее

Reti di Calcolatori. Il software

Reti di Calcolatori. Il software Reti di Calcolatori Il software Lo Stack Protocollare Application: supporta le applicazioni che usano la rete; Transport: trasferimento dati tra host; Network: instradamento (routing) di datagram dalla

Подробнее

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

Подробнее

Reti diverse: la soluzione nativa

Reti diverse: la soluzione nativa Reti diverse: la soluzione nativa Quando si deve trasmettere un messaggio attraverso reti diverse, per il mezzo fisico, per il protocollo di accesso o altro, a che livello si colloca la procedura di traduzione

Подробнее

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

Подробнее

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica [email protected] Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Подробнее

Laboratorio di Progettazione Web

Laboratorio di Progettazione Web Il Server web Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR - [email protected] E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta

Подробнее

Esercizio 2. Client e server comunicano attraverso socket TCP

Esercizio 2. Client e server comunicano attraverso socket TCP Esercizio 1 Scrivere una applicazione client/server in cui: Il client, in un ciclo infinito: Legge una stringa da standard input Invia al processo server la stringa. Il server visualizza: L'IP da cui si

Подробнее

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Подробнее

P2-11: BOOTP e DHCP (Capitolo 23)

P2-11: BOOTP e DHCP (Capitolo 23) Autunno 2002 Prof. Roberto De Prisco -11: BOOTP e DHCP (Capitolo 23) Università degli studi di Salerno Laurea e Diploma in Informatica Indirizzi IP dinamici 11.2 Un indirizzo IP statico è assegnato ad

Подробнее

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

Подробнее

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

Подробнее

Capitolo 11 -- Silberschatz

Capitolo 11 -- Silberschatz Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono

Подробнее

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Подробнее

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2 Computazione multi-processo Avere più processi allo stesso momento implica/richiede Processi e Threads Pt. 2 Concorrenza ed efficienza Indipendenza e protezione dei dati ma deve prevedere/permettere anche:

Подробнее

Gestione degli indirizzi

Gestione degli indirizzi Politecnico di Milano Advanced Network Technologies Laboratory Gestione degli indirizzi - Address Resolution Protocol (ARP) - Reverse Address Resolution Protocol (RARP) - Dynamic Host Configuration Protocol

Подробнее

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall Firewall e NAT A.A. 2005/2006 Walter Cerroni Protezione di host: personal firewall Un firewall è un filtro software che serve a proteggersi da accessi indesiderati provenienti dall esterno della rete Può

Подробнее

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Подробнее

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Corso DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Docente: Ing. Luca Romanelli Mail: [email protected] Networking NAT 1 Sommario L indirizzamento privato e pubblico I meccanismi di address

Подробнее

Interconnessione di reti

Interconnessione di reti Interconnessione di reti Collegamenti tra reti eterogenee Instradamento (routing) e inoltro (forwarding) IPv4 - indirizzi IP e MAC - sottoreti IPv6 - evoluzione di Internet DNS - Domain Name System Conclusioni

Подробнее

Oreste Signore, <[email protected]> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa http://www.w3c.it/education/2012/upra/basicinternet/#(1) 1 of 16 Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa Master in Comunicazione

Подробнее

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Подробнее

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam. Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 Dynamic Host Configuration Protocol [email protected] Prima di iniziare... Gli indirizzi IP privati possono essere

Подробнее

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

Подробнее

Configurazione sicura di un server web Apache in ambiente Linux

Configurazione sicura di un server web Apache in ambiente Linux Configurazione sicura di un server web Apache in ambiente Linux In questo documento saranno illustrate le procedure da seguire per garantire un elevato livello di sicurezza nella configurazione di un server

Подробнее

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Подробнее

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

Подробнее

Sistemi operativi. Esempi di sistemi operativi

Sistemi operativi. Esempi di sistemi operativi Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema

Подробнее

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Подробнее

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Подробнее

Software di gestione della stampante

Software di gestione della stampante Questo argomento include le seguenti sezioni: "Uso del software CentreWare" a pagina 3-11 "Uso delle funzioni di gestione della stampante" a pagina 3-13 Uso del software CentreWare CentreWare Internet

Подробнее

Esercitazione [6] Client/Server con Socket

Esercitazione [6] Client/Server con Socket Esercitazione [6] Client/Server con Socket Leonardo Aniello - [email protected] Daniele Cono D'Elia - [email protected] Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di

Подробнее

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Подробнее

Connessione di reti private ad Internet. Fulvio Risso

Connessione di reti private ad Internet. Fulvio Risso Connessione di reti private ad Internet Fulvio Risso 1 Connessione di reti private ad Internet Diffusione di reti IP private Utilizzo di indirizzi privati Gli indirizzi privati risolvono il problema dell

Подробнее

Corso di recupero di sistemi Lezione 8

Corso di recupero di sistemi Lezione 8 Corso di recupero di sistemi Lezione 8 a.s. 2011/2012 - Prof. Fabio Ciao 24 aprile 2012 Reti TCP/IP Una rete TCP/IP è una rete locale o geografica che utilizza protocolli TCP/IP con i primi 2 livelli una

Подробнее

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Подробнее

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Подробнее

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

Подробнее

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

Подробнее

Manuale di configurazione di Notebook, Netbook e altri dispositivi personali che accedono all Hot Spot @ll-in e di programmi per la comunicazione

Manuale di configurazione di Notebook, Netbook e altri dispositivi personali che accedono all Hot Spot @ll-in e di programmi per la comunicazione Manuale di configurazione di Notebook, Netbook e altri dispositivi personali che accedono all Hot Spot @ll-in e di programmi per la comunicazione on-line installati sia su dispositivi personali che nelle

Подробнее

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Подробнее

Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin [email protected]!

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 [email protected]! Sicurezza del Web server Sicurezza Web Server (1) Perché attaccare un Web server? w Per

Подробнее

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria

Подробнее

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

Подробнее

La sicurezza nel Web

La sicurezza nel Web La sicurezza nel Web Protezione vs. Sicurezza Protezione: garantire un utente o un sistema della non interazione delle attività che svolgono in unix ad esempio i processi sono protetti nella loro esecuzione

Подробнее

Installazione & Configurazione Php e MySQL su Mac Os X. Php

Installazione & Configurazione Php e MySQL su Mac Os X. Php Installazione & Configurazione Php e MySQL su Mac Os X Php PHP è un linguaggio di scripting interpretato, con licenza Open Source, originariamente concepito per la realizzazione di pagine web dinamiche.

Подробнее