Image Caching: Are Expires & Cache-Control headers sufficient?

I have an app with users and profile pictures etc .I want my users to be able to see their friend’s profile pictures etc even when offline. I serve images using AWS S3 and for each image I set the following headers:

Cache-Control:max-age=94608000
Expires:Thu, 31 Dec 2099 20:00:00 GMT

Is this robust enough for all served images or do I need to do something else on the client side? I know there is a lot of discussion around caching schemes in ionic, but why would that be necessary if I can manage it form the server?

Hey Guys! Two years later, I have exactly the same question, but just for Ionic3.

Do you have already an answer for this?