An important part of making an app work offline is making sure that whatever action a user does when they lose connection, gets saved anyway.
How it works
When a user loses connectivity, all subsequent POST/PUT requests will be saved in your browser's IndexedDB database. When connectivity is restored, requests will be retried automatically.
A request will also trigger a later retry if it returns a response with a
5xx status code. If your server is down, you don't lose the requests being made while you're fixing the problem!
Saved requests have a maximum life span of 24 hours and will be retried for up to 3 times using an exponential back-off. If they exceed these limits, they will automatically be discarded whether they were retried successfully or not.
Ignore query strings
If the resource present in the resource table is
https://mydomain/create-user?firstname=John&lastname=Doe, the retry rule will be applied to all requests being sent to
https://mydomain/create-user so you don't have to worry about query string parameters at all.