A good article on cacheing in AJAX - but I have to ask. If the data is only updated once a week, why bother having a refresh button on a page? Wouldn't it be a lot more straightforward for the server to get the data in question weekly using cron, or otherwise poll the server with the data on?
Yes, that's a very good alternative design, using cron and storing the value on the server weekly.
But what if EIA begins to greatly increase the frequency of displaying the oil price, because the information is so important (my weekly estimate is a purely random observation). Then it makes more and more sense to give the client the ability to request the value in an Ajaxian way (without a complete page reload), particularly if client interactivity is part of the application's requirements in the first place.
Or, what if I find a crude-oil price web service (still looking!) that does hourly updates. I would have to change the servlet to use a web-services API instead of HTML scraping (mostly a change for the better), and then alter the time of client-side caching to about 59 minutes (60*59).
The cron strategy would also have to introduce a tier for storage, such as MySQL or the file system, plus use server-side components to fetch the stored value for the clients.