8
votes

In Effective Android HTTP Jesse Wilson mentioned the following:

Serving static resources like images? Use a permanent URL and let it cache forever

I am using Picasso with a specific OkHttp instance for fetching and caching images. I am wondering how to setup the let it cache forever strategy?

I can only think about overriding the HTTP cache control header max-stale (Cache-Control: max-stale=)with the highest possible value, is there another (better) way?

1

1 Answers

13
votes

Best way is to configure your server to include a long max-age. For example, specify 365 days with this header:

Cache-Control: max-age=31536000

If you want to enable unlimited caching on the client, you can use a long max-stale:

Cache-Control: max-stale=31536000