Sign in to follow this  
codeBeast

How to force swf cache update to newer version without whole cache

Recommended Posts

Should say: without emptying WHOLE cache.

 

Hi I have an online elearning system with XMLs, swfs etc...

These are cached locally. When I have a new update the user used to clear their local cache otherwise they wouldn't receive it which is ridiculous.

Now we have a system that replaces EVERYTHING which we call "Break cache" BUT the problem is I don't want to clear the WHOLE cache just one or two file updates.

Is this possible? I have been told it is the html tags we write that operate in the browser that takes care of this but now I'm totally lost. There must be a solution it's only common sense.

Thaks in advance.

Edited by codeBeast

Share this post


Link to post
Share on other sites

There are several ways to do this.

 

 

A quick ugly fix - just add a querystring to each resource (swf, xml, image, javascript, etc.) that has been updated.

 

For example, this...

<img src="test.png" />

would become this...

<img src="test.png?v=1" />

and if you change your resource again, it becomes this...

<img src="test.png?v=2" />

 

 

A permanent fix - set the cache control headers for the resource. You can just Google Cache-control for whichever language you are using, but the actual response headers will look something like this.

HTTP/1.1 200 OK
Cache-Control: public, must-revalidate, proxy-revalidate, max-age=86400
Expires: Tue, 31 Dec 2019 12:00:00 GMT
Last-Modified: Fri, 08 Feb 2013 00:25:46 GMT
Date: Fri, 08 Feb 2013 00:25:46 GMT
Content-Length: 4346
.
.
.

I don't know what language/webserver you are using - but whenever a request comes in for the resource, you can just compare the date on the Last-modified header with the last modified date for the actual file on disk. If the file has a newer date, then you update the headers and send the new file, otherwise return a 304 status code - which will tell the browser to use its cache. 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this