Appunti del corso di

Sistemi di Elaborazione: Reti 2

Prof. G. Bongiovanni

Fra breve qui ci sara' un link per scaricare la versione compressa

0) Premessa
1) IL WORLD WIDE WEB
1.1) Architettura client-server del Web
1.1.1) Client
1.1.2) Server
1.2) Standard utilizzati nel Web
1.2.1) URL
1.2.2) Linguaggio HTML
1.2.3) Il protocollo HTTP
1.3) Estensioni del Web
1.3.1) Estensione per mezzo delle form
1.3.2) Common Gateway Interface
1.3.3) Linguaggio JavaScript (già LiveScript)
1.3.4) Linguaggio Java
1.4) I problemi del Web
2) LA SICUREZZA
2.1) Controllo dei diritti di accesso
2.1.1) Basic authentication in HTTP 1.0
2.1.2) Digest authentication in HTTP 1.1
2.1.3) Firewall
2.2) Protezione delle risorse da danneggiamento
2.2.1) La sicurezza e le estensioni del Web
2.2.2) La sicurezza e Java
2.3) Protezione delle informazioni durante il transito sulla rete
2.3.1) Crittografia
2.3.1.1) Crittografia a chiave segreta (o simmetrica)
2.3.1.2) Crittografia a chiave pubblica
2.3.2) Funzioni hash e firme digitali
2.3.3) Protocolli crittografici
2.3.3.1) Chiave segreta di sessione
2.3.3.2) Centro di distribuzione delle chiavi
2.3.3.3) Secure Socket Layer e Secure-HTTP
3) UTILIZZO DI JAVA PER LO SVILUPPO DI APPLICAZIONI DI RETE
3.1) Ripasso di AWT
3.2) Input/Output in Java
3.2.1) Classe InputStream
3.2.2) Classe OutputStream
3.2.3) Estensione della funzionalità degli Stream
3.2.3.1) Classe FilterInputStream
3.2.3.2) Classe FilterOutputStream
3.2.3.3) BufferedInputStream e BufferedOutputStream
3.2.3.4) DataInputStream e DataOutputStream
3.2.3.5) PrintStream
3.2.3.6) Esempi di uso degli stream di filtro
3.2.4) Tipi base di Stream
3.2.5) Stream per accesso a file
3.2.6) Stream per accesso alla memoria
3.2.7) Stream per accesso a connessioni di rete
3.2.7.1) Classe Socket
3.2.7.2) Classe ServerSocket
3.3) Multithreading
3.3.1) Classe Thread
3.3.2) Interfaccia Runnable
3.4 Sincronizzazione
3.4.1) Metodi sincronizzati
3.4.2) Istruzioni sincronizzate
3.4.3) Wait() e Notify()
4) UTILIZZO DEI MESSAGGI
4.1) Classi di base per la gestione di messaggi
4.1.1) Classe MessageOutput
4.1.2) Classe MessageInput
4.1.3) Classe MessageOutputStream
4.1.4) Classe MessageInputStream
4.2) Un'applicazione client-server per la gestione di transazioni
4.2.1) Classe TransactionClient
4.2.2) Classe TransactionServer
4.3) Accodamento di messaggi
4.3.1) Classe Queue
4.3.2) Classe QueueOutputStream
4.3.3) Classe QueueInputStream
4.3.4) Utilizzo tipico degli stream per l'accodamento di messaggi
4.4) Multiplexing di messaggi
4.4.1) Classe MultiplexOutputStream
4.4.2) Classe MultiplexInputStream
4.4.3) Classe Demultiplexer
4.4.4) Classe DeliveryOutputStream e Interfaccia Recipient
4.4.4.1) Classe DeliveryOutputStream
4.4.4.2) Interfaccia Recipient
4.4.5) Client per la chatline grafica e testuale
4.4.5.1) Classe CollabTool
4.4.5.2) Classe ChatBoard
4.4.5.3) Classe WhiteBoard
4.4.6) Server per la chatline grafica e testuale
4.5) Ulteriori estensioni di funzionalità tramite messaggi