Interazione utente-server

I cookies
...

Supponiamo che un utente (Susan) abbia in precedenza visitato il sito eBay, diciamo che l'id di Susan nei confronti delle visite fatte ad eBay è 7862 (dopo sarà chiaro il motivo di questo id). Ora Susan vuole visitare amazon.com, e non lo ha mai visitato. Nel momento in cui viene fatta una richiesta amazon, il server amazon vede che il browser di Susan non ha mai visitato amazon, il server amazon invia insieme alla risposta HTTP una riga di intestazione
Set-cookie: 2283
Il client (Susan) ricevendo questo messaggio include in un file che gestisce i cookie il nome del server e il codice Set-cookie ricevuto dal server (2283).
Da questo momento in poi tutte le richieste di Susan al sito amazon.com saranno arricchite di una riga di intestazione:
Cookie: 2283
Da questo momento in poi amazon può monitorare tutta l'attività di Susan sul suo sito.
I cookie sono utili, in questo caso ad un sito come amazon, per registrare le preferenze di Susan e per esempio per permettergli di riempire il suo carrello (anche in giorni diversi) per poi acquistare tutto insieme.

Web caching
...

Una web cache, o server proxy, è un'entità della rete che soddisfa richieste per conto dei client. Una web cache salva in memoria i siti web visitati di recente dai client.
In una rete che fa uso di web cache, quando il browser deve effettuare la richiesta, la effettua prima al server proxy, se il proxy contiene una copia del sito richiesto dal client lo invia (tempi di risposta ridotti, rispetto ad una richiesta vera e propria ad internet) se invece il proxy non possiede una copia dell'oggetto richiesto allora il proxy effettua la richiesta per conto del client, la risposta del server giungerà al proxy, che salverà una copia del documento nella sua memoria e lo utilizzerà per richieste future dei client, ed invia il documento ricevuto dal server.
Il proxy si comporta sia da server che da client.
Un proxy è installato in genere da un ISP, per esempio una università, può installare un proxy nella loro rete e configurare i browser dei client per far sì che vi puntino.

Cosa succede se la copia del documento che ha salvato il proxy è stata aggiornata nel server?

Il proxy, per oggetti che già possiede, invia una richiesta di GET condizionale: if-modified-since ai server da cui ha salvato quei documenti, se la versione è aggiornata rispetto a quella che possiede, la invia al client, altrimenti lo richiede nuovamente al server, salva il documento per sé e lo inoltra al client.