Our network contains a growing number of iOS devices, all of which with very similar configurations. All Internet access is via a transparent proxy.

We've found that iOS updates and some free apps cache fine on the proxy, but any paid apps fail to cache properly (as they seem to be encrypted to the Apple ID (?)).

I'm just wondering if there's any way forward with this where we could cache the paid apps so that they are purchased n times, but downloaded from the proxy cache instead of from the Internet each time. Bandwidth caps aside, the download direct from the Internet slows everything down for everyone, regardless of fairness queueing and related 'fixes'.

I know this is quite unlikely, but I figured there's nothing to lose and everything to gain before I look into other solutions (eg, QoS).

  • Why are all your employees spending so much time on their iPhones at work? – Michael Hampton Aug 28 '12 at 9:12
  • @MichaelHampton - actually, they are student devices, and these are apps for their classes. So the use case is entirely approved. – Matthew Iselin Aug 28 '12 at 12:22

The data you want to cache isn't meant to be cached. It's specific to the user(s) who are downloading them. (Caching paid apps as they're downloaded would also make a great way to steal them, as well.)

This is why the origin server is sending headers like Cache-Control: private or no-cache along with it, to specifically instruct downstream caches like your proxy server not to cache the data.

Some caches such as squid provide ways of overriding these directives; since you didn't say what you were using, please see your documentation for details if you're really absolutely determined to do this. (But please don't. It'll break practically every other site that relies on this behavior being correct.)

| improve this answer | |
  • If the data is entirely user-specific, it's not worth considering ignoring cache control headers. Oh well - we'll have to investigate a better way of making this work then. Thanks! :) – Matthew Iselin Aug 28 '12 at 12:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.