I had an interesting problem sometime back which I would like to share.
We had a page which did some data processing and created a graph (in GIF format) based on that page's information. The GIF file got overwritten (new graph got generated due to the change in values in my form) everytime I clicked on the submit button, but the output simply won't reflect in the browser on the postback. BUT, If I did CTRL + F5, it got me the latest file from the server and this time I could see the updated graph.
If we change the IE setting from "Tools -> Internet Options -> Settings -> Automatically" to "Tools -> Internet Options -> Temporary Internet Files Section -> Settings -> Every visit to the page", the problem goes away.
The issue isolated to the fact that the IE was caching the GIF files. The *BIG* question is how do you fix it from the Server side so that clients don't have to re-adjust their IE settings. One option was ASP.NET caching, but it won't work with the GIF or other static files. META cache also didn't work. So, here is what you need to do...
We added the Headers to the gif files and now everything works fine. Here is what we did to resolve it.
»»» Click on "Start -> Run" and type inetmgr and click Ok
»»» Navigate to /FolderName (folder where you have those gif files).
»»» Right click on that Folder and click Properties
»»» Click on HTTP Headers tab
»»» In the Custom HTTP Headers frame, click on Add button
»»» In the Custom Header Name, type "Cache-Control" without quotes
»»» In the Custom Header Value, type "no-cache" without quotes
»»» Click on Ok twice
»»» Click on "Start -> Run" and type iisreset and click Ok
»»» That fixes the issue!!
The GIF files are no longer cached on the client now, because of the Header information sent from the IIS and the they get refreshed regardless of the IE setting solving our issue :o)