The Android app, as a client of the Content Service, wants to cache content aggressively and correctly. This means specifying a great max-stale cache-control header in requests but responses with the no-cache or must-revalidate cache-control option are forbidden from being used unless a successful response from the service is received[0]. This ticket encompasses the work necessary to remove the must-revalidate header option from the mobile-sections-* endpoints.
Currently:
$ curl -Is https://en.wikipedia.org/api/rest_v1/page/mobile-sections-lead/Dog | grep cache-control: cache-control: s-maxage=1209600, max-age=0, must-revalidate
Expected:
$ curl -Is https://en.wikipedia.org/api/rest_v1/page/mobile-sections-lead/Dog | grep cache-control: cache-control: s-maxage=1209600, max-age=0