Caratteristiche delle reti di calcolatori
Tipologie di reti e relative tecnologie: reti locali (LAN), reti
metropolitane (WAN) e reti geografiche (WAN). Protocolli e standard. Gli
organismi di standardizzazione. Lo standard ISO-OSI e la struttura in
livelli. I protocolli TCP/IP: indirizzamento di rete (indirizzi IP),
socket e porte TCP e UDP.
Il livello applicativo
Modelli client/server e Peer-to-Peer (P2P). Il Domain Name System (DNS):
architettura, funzionamento e protocolli. Il servizio di posta
elettronica: architettura (Mail Transfer Agents e Mail User Agents);
indirizzamento delle caselle di posta; formato dei messaggi (codifica
del caratteri, codifica ASCII 7 bit e Unicode, standard MIME).
Il Web e HTTP
Evoluzione delle tecnologie del Web. Architettura del Web e protocollo
HTTP. Riferimento a risorse Web: URI, URL e URN. Caratteristiche di
HTTP: messaggi di richiesta e risposta; formato delle intestazioni e uso
delle intestazioni principali (User-Agent, Location, If-Modified-Since,
Content-Type,Cache-Control, Host); supporto al virtual hosting, alle
cache e ai proxy. Il linguaggio HTML: struttura dei documenti; uso
dell'intestazione; principali tag e relativi attributi; cascading style
sheet (CSS); uso dei form e codifica delle informazioni nelle richiesta
HTTP (metodi POST e GET). Applicazioni Web lato server: lo standard CGI.
La programmazione lato server e il linguaggio PHP
Caratteristiche principali di PHP: variabili, strutture per il controllo
del flusso, array associativi, variabili superglobali e interazione con
il server Web e le richieste/risposte HTTP, gestione dei cookie e delle
sessioni, interazione con un DBMS.
Programmazione Web lato client
Il linguaggio Javascript. Interazione con gli elementi di un documento HTML. Gestione degli eventi. Principali strutture.
Il livello di trasporto e i socket
Protocollo TCP: caratteristiche e formato dell'intestazione; modalità di
apertura e chiusura della connessione; acknowledge e gestione del
timeout di ritrasmissione; controllo di flusso e gestione della
congestione. Protocollo UDP.
Il livello di rete
Il procotocollo IP: indirizzi e classi di indirizzi; sottoreti e subnet
mask; consegna diretta e routing; il protocollo ARP per la consegna
diretta; i routers.
L'esame prevede il superamento di due prove intermedie e un colloquio orale nel quale è prevista anche la presentazione di un progetto. Per chi non ha sostenuto o non superato una o entrambe le prove intermedie è prevista una prova relativamente alla/e parte/i mancante/i.
Le prove consistono in esercizi di programmazione PHP, javascript e sull'indirizzamento IP.
Il progetto consiste nello sviluppo di una semplice applicazione Web utilizzando PHP ed eventualmente javascript. L'applicazione deve consistere nell'interfaccia ad un database con almeno una funzione di inserimento/modifica dati e una di ricerca, preferibilmente con una funzione di login per gli utenti. Come base di partenza si possono considerare gli esempi fatti a lezione (accesso a DB). Il tipo di applicazione può essere scelto a piacere e svolto anche in gruppo formato un massimo di 2 studenti (ampliando in questo caso il numero di funzionalità implementate).
Il materiale è disponibile nell'area dell'insegnamento sulla piattaforma moodle di ateneo USiena integra a cui è possibile accedere con le proprie credenziali di ateneo.
La lista non più aggiornata del materiale è disponibile a questo link