[Mediawiki-l] Variables in Wikitext & Browser Caching

Zigger zigger at gmail.com
Mon Jun 13 04:56:27 UTC 2005


On 6/13/05, Jamie Bliss wrote:
> What exactly is the difference between a cache purge and a null edit
> (besides the entry in recentchanges)?
>...

There's a few ways to interpret that question.  Here's a summary of my
limited understanding of how things work for normal MediaWiki pages.

Both the client browser cache and a server parser cache can be purged
by the client.  The browser knows the modification date of the stored
HTML, and can ask the server if the page has changed since then.  A
parser cache has an expiry time when cached output has to be rendered
again.  Dummy edits purge/replace the rendered output in the parser
cache, and updates the page's modification date.  As Rick mentioned,
they also re-process templates.

The "time-tricking" example extension simply updates the page's
modification date when rendered, which probably works well when there
is no parser cache and otherwise has to wait for an expiry or purge in
the parser cache before having any effect.  It does not force
templates to be re-processed.

On the Wikimedia wikis, things are more complex due to the multiple
caching-reverse-proxies (squid), slave databases, and an alternative
to the table-based parser cache (memcached).  MediaWiki can control
these somewhat.  Other proxies (typically at ISPs) are asked in the
headers to basically not cache the pages.  Proxies can do all sorts of
smart and dumb things to headers.

The caching also has to handle variations in some user preferences,
e.g. skin, UI language, date-format.

-- Zigger



More information about the MediaWiki-l mailing list