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