Evitare che le richieste web usando Ajax sfruttino la cache del browser
Luca Longo | 27 marzo 2009Il WEB 2.0 ci ha viziati con AJAX: un metodo innovativo che permette di effettuare richieste a pagine web, in modo asincrono.
Sostanzialmente, il metodo classico prevede che un utente, apra il browser effettui la richiesta web andando su un sito (ad esempio: http://www.masterix.org) ed attenda il caricamento completo della pagina (il tutto avviene in modo sincrono: tutte le parti della pagina si aggiornano insieme, quasi contemporaneamente).
Con Ajax questo concetto, in parte, cambia: parti di pagina possono variare “singolarmente” senza che tutta la pagina venga ricaricata.
Spesso capita di dover effettuare una richiesta più volte (magari sulla base di un timeout o alla generazione di un particolare evento): è proprio in questo caso che si cade nel classico problema AJAX della cache.
Esiste un modo abbastanza semplice per risolvere questo problema.
Ad ogni richiesta, basta aggiungere la seguente querystring:
(new Date).getTime()+"."+(Math.random()*1234567)
In altre parole, ciò che farete è qualcosa di simile:
http://www.masterix.org/index.php?[ORARIO].[NUMERO_CASUALE]
In questo modo, il browser penseràdi effettuare una nuova richiesta, e non andràa pescare i risultati dalla cache.
Si fa ovviamente notare che non sempre è utile fare una cosa simile, in quanto, comunque, saltando la cache del browser, rallenta il caricamento della porzione di codice che viene richiesto tramite AJAX.
Alla prossima =D
Hai trovato interessante questo articolo?


