mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Popups
synced 2024-12-18 10:10:48 +00:00
7ef925fb97
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
35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
# 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][0], 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][1]. Unlike the MediaWiki API, resources fetched
|
|
from the RESTBase endpoint, [will be cached for 14 days in public caches][2].
|
|
|
|
[0]: https://www.mediawiki.org/wiki/API:Main_module#Parameters
|
|
[1]: https://github.com/wikimedia/mediawiki-extensions-Popups/blob/86075fba/src/gateway/mediawiki.js#L15
|
|
[2]: https://github.com/wikimedia/mediawiki-services-restbase-deploy/blob/9a86d4ce/scap/templates/config.yaml.j2#L100-L101
|