After a user edits content, the apps would like to show the updated content from the page content service. If the request is made immediately after the edit, the content is still out of date.
The current proposed strategy to wait for the updated content is to make periodic HEAD requests with the If-None-Match header set to the ETag of the content we have until we get a response code of 200 indicating that the ETag has changed. We could take this one step further and compare the revision number returned by the edit to ensure we have the correct revision.
This polling would only happen after the user makes an edit and would stop after 5 attempts. Currently the requests are spaced out with an exponential backoff, with 0.25 * 2 ^ attemptIndex seconds in between each attempt, attemptIndex ranges from 0-4.
Is this an acceptable approach? Are there other alternatives?