Offline and performance for apps
This folder is for app developers who want an app that feels fast on a slow network, keeps working in a tunnel, and does not load the server more than it must. It explains the caches between the app and the content, and what the app has to do itself.
Contents
The layers
| Layer | Who runs it | Holds | Read |
|---|---|---|---|
| The app's own store | you | answers, images, queued writes | Caching in the app, Syncing and offline reading |
| Your back end, if any | you | shared answers for every phone | A back end for your app |
| The REST answer cache | the server, rest.ini [CacheSettings] | GET answers per user, ten minutes by default | Caching on the server |
| Velocity's response cache | the server, when Velocity serves the site | anonymous pages; never requests with an Authorization header | same |
| The browser navigation cache | the site's service worker | site pages for repeat visits; not app data | Web apps, CORS and CSP |
Pages in this folder
| Page | Answers |
|---|---|
| Caching on the server | How fresh REST answers are and why |
| Caching in the app | What to cache, keys, freshness with dateModified, rate limits |
| Syncing and offline reading | Keeping a folder on the device, queued writes |
| Web apps, CORS and CSP | Browser apps: origins, CORS, Content Security Policy, the service worker |
Related pages
- Headless Exponential: caching and performance
- App backend reliability (for businesses)
- Offline and repeat visits (for businesses)
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.