A strange problem regarding
CSS caching had frustrated me for a whole 2 hours today.
The problem was reported by one of the developers that even if the
CSS on the server was changed, IE was still used the cached version. I checked the application and found that there were no Cache headers that were set. This meant that IE should have made a GET "if-modified-since" request
everytime for the
CSS.
I even dumped the requests using the
TcpTrace sniffer. I could see that IE did send a request for the
CSS file and also the server responding with the new
CSS file. Still no change on the page ?? This really baffled me ...If I hit F5/refresh, then the new
CSS was loaded, but if I revisited the page, then still the old
CSS was being used..
Then I learned from some site, that IE behaves a bit oddly here : IE usually caches
CSS files by browser session (until you exit the browser). With a new session, the browser does a head request to see if the file has been modified, if so it reloads. So if I logged off the application and logged in again, the
CSS would be reloaded. Strangely, this would not always happen...But if I close the browser and open the application again, I always get the new
CSS..
It seems that IE is a bit erratic in this respect...so to be absolutely sure that U get the new
CSS, you may have to close the browser and open it again :)