mediawiki-extensions-Popups/docs/adr/0009-utilize-browser-caching.md
Thiemo Kreuz 7ef925fb97 Prefer YYYY-MM-DD ISO dates in all documentation
It is probably not that critical to understand if "09/11/2016" refers
to September 11th or November 9th. I still think it's worth looking for
a documentation format that is easy to understand by an international
developers community. My personal best practice is to use the ISO format.

Change-Id: Ib209a8a1651970d74f82c188ae4b84d1a4eb534e
2019-01-17 17:11:29 +01:00

1.3 KiB

9. Utilize browser caching

Date: 2017-05-24

Status

Accepted

Context

We needed to make sure we're not overloading the servers with excessive requests. We wanted to find a way to serve fresh resources while keeping the back-end happy.

Decision

Page Previews will leverage the browser's cache rather than maintaining its own. We rely on Grade A browsers implementing HTTP caching correctly and their vendors making accessing them as efficient as possible in order to avoid incurring the incidental complexity of writing our own cache in JavaScript.

We'll set appropriate Cache-Control HTTP headers for both the MediaWiki API, via the maxage and smaxage main module parameters, and the RESTBase page summary endpoint with the help of the Services team.

Consequences

Resources fetched from the MediaWiki API will be cached for 5 minutes in public caches and the browsers's cache. Unlike the MediaWiki API, resources fetched from the RESTBase endpoint, will be cached for 14 days in public caches.