I'm new to browser caching and just about getting to grips with wireshark and FF's about:cache, but have precious little else know-how in this area. HTTP/1.1 200 OK Date: Mon, GMT Server: Apache Last-Modified: Mon, GMT Accept-Ranges: bytes Content-Length: 101 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: application/xml /r/n then the datestamp in the Last-Modified field of the response becomes the value in the If-Modified-Since field in the next request. A typoing "about:cache" into the address bar shows us that the XML file is indeed cached, with an expiry of an hour and 20 minutes after it was last modified.
Running wireshark with a HTTP filter showed that on IE8, pretty much every time the animation looped a HTTP GET was made: GET /. So, what I want to know is what setting in IE8 is it that is making IE8 use sensible caching here? What setting in FF makes it "stupid" here, or is it just born stupid.
Given the Flex environment: * I can only desire a way to ask PHP (or other tech) on the remote server given last download time whether there's a new file, rather than enquiring locally in the users browser when the last file was downloaded.
* I would have a preference to ask my own server what it thought rather than rely on a wilderness PC to tell me if I ought to serve it a new file.
A useful trick, bear in mind every request will cause a new download, multiply by number of 3rd party sites hosting your app and you could quickly find you're overloading your server. A php script which you call with both a random parameter plus time of last download of the xml, then the script decides if the xml has changed and returns the new xml, or returns a message equivalent to 'no change' etc. Helpful for debugging and validating your SSL configuration.
One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.
There are lots of tricks you can pull, but you don't want to be, or need to be implementing them in some way special to Flex/Flash.
So I wrote the code below and tried it at various points in the lifettime of the URLRequiest object.
1) just after URLRequest object created 2) just after URLRequest object passed to URLLoader object (i.e. Even if we stored download time in a variable, on the next execution that variable would be wiped.
To be really useful, our application can handle info being a few minutes out of data, but an hour and 20 is harder. Given that Action Script is hardly likely to expose an API that allows me to read the last modified time from the file in the cache (I assume anyway, as each browser will implement caching differently) (or am I wrong?
Then again if its down to browser settings, the delay in the file expiring could be totally aribitrary and we might have to rethink this one!! ) I need a way to examine the response headers from a request and get the last modified time, and then can "force" a download using moagrius's method if its gone a fixed time (e.g. Scans your site and returns information about your SSL implementation and certificate.