Jump to content
  • Advertisement
Sign in to follow this  
codeBeast

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

This topic is 1986 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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
Advertisement

Its not the html tags but the http headers. There should be some possibility to change how they are send out in the server to accomodate your needs, but I dont know specifics.

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
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!