Thursday, 3 May 2007

Bug: “Cachebuster” argument added to dynamic chart image URLs

The Opera browser and some intermediate Web cache servers appear to ignore our specification of an HTTP header item of ``{\tt Cache-Control: private}'' for all dynamically-generated documents. In particular the ``stateless'' chart images embedded in the monthly log and chart workshop pages, purely on the basis that the URL is identical, are served an obsolete image from the cache rather than requesting an image from the server which would reflect changes to the database made of late. OK, you want a different URL? Here's a different URL! On all of the embedded image URLs, I have added a ``cachebuster'' argument which is a pseudorandom value with no function other than ensuring each image request URL is unique. This definitely fixes the cache problem with Opera, which was consistently reproducible; we'll have to see it if is equally successful with other rogue caches which ignore the {\tt Cache-Control} directive. (Reported by Robert Ewing.)

No comments: