Personally I prefer to have explicit control over the caching mechanism rather than leaving it to network elements or browser caching.
That is explicity cache the information in your JavaScript frontend or have your backend explicitly cache. In that way it is easy to understand and your can also control what circumstances a cache is invalidated.