1 Laboratorio di Reti Introduzione al corso
2 Finalità del corso Vedremo alcuni argomenti legati alla rete Internet. Vedremo alcuni argomenti legati alla rete Internet. Uno degli scopi del corso sarà quello di fornire alcuni strumenti per la programmazione per il web. Uno degli scopi del corso sarà quello di fornire alcuni strumenti per la programmazione per il web. Verranno introdotti concetti di base sulle applicazioni client/server, sui protocolli per il web e verranno forniti alcuni rudimenti per la programmazione per il web lato server. Verranno introdotti concetti di base sulle applicazioni client/server, sui protocolli per il web e verranno forniti alcuni rudimenti per la programmazione per il web lato server.
3 Argomenti I protocolli http, ftp e i protocolli per la posta elettronica I protocolli http, ftp e i protocolli per la posta elettronica Cenni sulle applicazioni client/serverCenni sulle applicazioni client/server Il linguaggio html e i css Il linguaggio html e i css Programmazione per il web Programmazione per il web Lato server: PHPLato server: PHP Cenni all’algoritmo PageRank per l’indicizzazione dei documenti recuperati da un motore di ricerca sul web Cenni all’algoritmo PageRank per l’indicizzazione dei documenti recuperati da un motore di ricerca sul web
4 Modalità d’esame L’esame prevede un’applicazione, contenente uno o più script, da realizzare in PHP. Avrete una settimana di tempo per realizzarla, dopodichè la invierete all’indirizzo di posta elettronica L’esame prevede un’applicazione, contenente uno o più script, da realizzare in PHP. Avrete una settimana di tempo per realizzarla, dopodichè la invierete all’indirizzo di posta elettronica La seconda prova, nel caso la prima vada bene, consiste in un orale, il quale comprende un’eventuale discussione del progetto presentato e un paio di domande sul contenuto del corso. La seconda prova, nel caso la prima vada bene, consiste in un orale, il quale comprende un’eventuale discussione del progetto presentato e un paio di domande sul contenuto del corso.
5 Cos’è Internet? Milioni di dispositivi interconnessi Milioni di dispositivi interconnessi … mediante canali di comunicazione … mediante canali di comunicazione … e router che inoltrano pacchetti … e router che inoltrano pacchetti
6 Cos’è Internet? Infrastruttura di comunicazione che consente ad applicazioni distribuite lo scambio di dati Infrastruttura di comunicazione che consente ad applicazioni distribuite lo scambio di dati Web, , giochi on-line, e- commerce, data base, file sharing…Web, , giochi on-line, e- commerce, data base, file sharing… Servizi di comunicazione forniti Servizi di comunicazione forniti ConnectionlessConnectionless Connection-orientedConnection-oriented
7 Cos’è Internet? La “rete delle reti” La “rete delle reti” Usata sia nella rete Internet pubblica sia nelle intranet privateUsata sia nella rete Internet pubblica sia nelle intranet private Standard di Internet Standard di Internet IETF: Internet Engineering Task ForceIETF: Internet Engineering Task Force RFC: Request for CommentsRFC: Request for Comments
8 La struttura della rete Network Edge Network Edge Definisce i “confini” della reteDefinisce i “confini” della rete Network Core Network Core I router interniI router interni End-System End-System Host o nodi. Sono gli elabora- tori sui quali sono in esecuzio- ne le applicazioniHost o nodi. Sono gli elabora- tori sui quali sono in esecuzio- ne le applicazioni Web server, browser, server, ftp client, ecc. Web server, browser, server, ftp client, ecc.
9 Network Edge Client/server Client/server Client: programma in esecuzione su un end-system, invia delle richieste e riceve dei servizi da un altro end- systemClient: programma in esecuzione su un end-system, invia delle richieste e riceve dei servizi da un altro end- system Server: programma in esecuzione su un end-system (in genere always-on) che fornisce un certo servizioServer: programma in esecuzione su un end-system (in genere always-on) che fornisce un certo servizio Peer-to-peer Peer-to-peer Ogni applicazione è sia client che server (Gnutella, Kazaa, ecc.)Ogni applicazione è sia client che server (Gnutella, Kazaa, ecc.)
10 Cosa vedremo? Protocolli di livello applicazione: http, ftp, smtp, mime, pop,… Protocolli di livello applicazione: http, ftp, smtp, mime, pop,… client/serverclient/server Programmazione per il web Programmazione per il web html+csshtml+css PHP (, MySQL)PHP (, MySQL) Cookies e sessioni Cookies e sessioni PageRank PageRank
11 Testi di consultazione J. F. Kurose, K. W. Ross, Reti di calcolatori e Internet – Un approccio top-down, Addison-Wesley, J. F. Kurose, K. W. Ross, Reti di calcolatori e Internet – Un approccio top-down, Addison-Wesley, A. S. Tanenbaum, Reti di Computer, Prentice Hall International. A. S. Tanenbaum, Reti di Computer, Prentice Hall International. R. Lerdorf, PHP Pocket Reference, Hops, R. Lerdorf, PHP Pocket Reference, Hops, D. Tansley, Pagine Web Dinamiche con PHP e MySQL, Addison- Wesley, D. Tansley, Pagine Web Dinamiche con PHP e MySQL, Addison- Wesley, S. Stobart, M. Vassilieiou, PHP e MySQL – Guida completa, Apogeo, S. Stobart, M. Vassilieiou, PHP e MySQL – Guida completa, Apogeo, Manuali in linea per HTML e CSS. Manuali in linea per HTML e CSS.