How do you force browsers to revalidate static content like an swf, xml, txt, … files? We often have this problem with customers and advise them to clear their cache. Not a very good solution don’t you think?
So how do you solve this? We could append the version of our product to the static files, so that with a new release, browsers wouldn’t hit their cache loading the file. A condition for this to work would be that the home page (default page) should always be the latest version from the server. This page would have references to the static files with version appended to them.
What about browsers asking the server if a newer version is available. In comes the must-revalidate header.
Last week at work we noticed a strange bug. When loading our Flex application in FireFox, we got a white screen. The swf was loaded in the browser, but no content was shown, just an empty white screen. Very annoying. Debugging wasn’t possible because no connection could be made between the swf file and Eclipse. In all other browsers we had no problem with the application and all content was shown.
Now, after searching for some hours, we found that the problem had to do with IIS and FluorineFx ecnrypting the swf with GZIP. When we tunred GZIP off for swf files, things worked again in FireFox. Our application can be configured to work with WebORB or with FluorineFx and with WebORB we didn’t have this problem (the app worked fine in FireFox with WebORB). Computer problems always have a logical explanation, one of the reasons why I like IT so much. IT and my wife balance out great!
What I don’t get so far is if this is a problem with IIS 7(.5) not ecrypting properly the swf for FireFox or if it’s a problem with FireFox not decrypting the file properly.
I think it has to do with FireFox because in Charles I do not see differences in the Requests and Responses from FireFox and Chrome.