Skip to content

Latest commit

 

History

History
16 lines (9 loc) · 1.86 KB

guidelines.md

File metadata and controls

16 lines (9 loc) · 1.86 KB

Esame di Reti di Calcolatori

3 Settembre 2020

Si modifichi il programma web-server.c sviluppato durante il corso in modo tale che vieti, tramite opportuno codice di errore (cfr. RFC2616, cap. 10.4 ), ad un user agent (browser) convenzionale di accedere alla risorsa /contact.html se prima il medesimo user agent non abbia precedentemente avuto accesso alla risorsa /index.html.

Per implementare questa funzione si utilizzino i meccanismi di gestione dello stato HTTP, detti Cookies, facendo riferimento agli esempi della sezione 3.1 della RFC6265 e alle grammatiche nella Sezione 4 del medesimo documento.

Il meccanismo dei Cookie può essere visto come una variante del meccanismo di autenticazione visto a lezione, in quanto, al posto di richiedere al client di includere in ogni request l’header WWW-authenticate riportante credenziali (username e password) precedentemente registrate sul server, similmente richiede al client di includere, in ogni request, l’header Cookie riportante una il nome e il valore di una variabile di stato comunicata dal server al client al primo accesso. Questo permette al server di capire che tante richieste provengono da uno stesso user agent e condividono uno stesso stato, senza necessità di gestire la registrazione di utenti. N.B. lo user agent non sarà obbligato ad accedere al /index.html subito prima di accedere al /contact.html. Al contrario il server deve poter permettere anche la sequenza di accesso

/index.html, ...<altre risorse>..., /contact.html.

Richiesta addizionale

Non sarà sufficiente allo user agent accedere una volta per tutte a /index.html per poi aver il permesso di accedere tante volte al /contact.html. Al contrario, dopo aver dato il permesso di accedere al /contact.html, il server vieterà un secondo accesso se prima il medesimo user agent non avrà avuto accesso di nuovo al /index.html.