Laboratorio di Reti Introduzione al corso 1 Finalità del corso Vedremo alcuni argomenti legati alla rete Internet. 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. 2 Argomenti I protocolli http, ftp e i protocolli per la posta elettronica • Cenni sulle applicazioni client/server Il linguaggio html e i css Programmazione per il web • Lato server: PHP Cenni all’algoritmo PageRank per l’indicizzazione dei documenti recuperati da un motore di ricerca sul web 3 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 [email protected]. 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. 4 Cos’è Internet? Milioni di dispositivi interconnessi … mediante canali di comunicazione … e router che inoltrano pacchetti 5 Cos’è Internet? Infrastruttura di comunicazione che consente ad applicazioni distribuite lo scambio di dati • Web, e-mail, giochi on-line, e- commerce, data base, file sharing… Servizi di comunicazione forniti • Connectionless • Connection-oriented 6 Cos’è Internet? La “rete delle reti” • Usata sia nella rete Internet pubblica sia nelle intranet private Standard di Internet • IETF: Internet Engineering Task Force • RFC: Request for Comments 7 La struttura della rete Network Edge • Definisce i “confini” della rete Network Core • I router interni End-System • Host o nodi. Sono gli elaboratori sui quali sono in esecuzione le applicazioni Web server, browser, e-mail server, ftp client, ecc. 8 Network Edge Client/server • Client: programma in esecuzione su un end-system, invia delle richieste e riceve dei servizi da un altro endsystem • Server: programma in esecuzione su un end-system (in genere always-on) che fornisce un certo servizio Peer-to-peer • Ogni applicazione è sia client che server (Gnutella, Kazaa, ecc.) 9 Cosa vedremo? Protocolli di livello applicazione: http, ftp, smtp, mime, pop,… • client/server Programmazione per il web • html+css • PHP (, MySQL) Cookies e sessioni PageRank 10 Testi di consultazione J. F. Kurose, K. W. Ross, approccio top-down, Reti di calcolatori e Internet – Un Addison-Wesley, 2005. A. S. Tanenbaum, Reti di Computer, Prentice Hall International. R. Lerdorf, PHP Pocket Reference, D. Tansley, Pagine Web Dinamiche con PHP e MySQL, Hops, 2003. Addison- Wesley, 2002. S. Stobart, M. Vassilieiou, PHP e MySQL – Guida completa, Apogeo, 2004. Manuali in linea per HTML e CSS. 11