So, I've tried StackOverflow
and the facebook dev forum but no-one seems to be helping thus far.
I must admit I could probably have done some more thorough research myself, but it seems like something that someone with the appropriate knowledge might be able to recognise and explain relatively easily (I hope). I suppose if it was all that simple, someone in SO would probably have chimed in.
I'm doing some stuff with facebook which means that I want to keep a cache of pictures. I thought that it should be correct to just use URLConnection.setIfModifiedSince() before connecting and then check for a 304 return code, but it seems facebook is using some other HTTP headers rather than last-modified to control caching and in my brief searches I haven't found anything that really helps me understand what or why. I'm pretty naive when it comes to the nitty-gritty of HTTP, but looking at request details in Chrome's network monitor I see various X-* headers which appear to be relevant...
More details can be found on the Stack Overflow question, any help here or over there much appreciated.