On Fri, 2003-09-12 at 03:18, Nik wrote:
Cheers Tim, here is an extract from the logfile that is the section where I did the actions you asked. I also have attached the full file.
[snip]
Here's a quick overview of how it's supposed to work: * Browser requests to view the page. Server sees this is a first request, renders the page, and sends the current timestamp with it along with instructions that the browser *must* double-check with the server every time it views that page. * Browser requests edit page. * Browser posts the submission. Server updates the page in the database and tells the browser to request the page for viewing again. * Browser requests to view the page; this time it sends along the timestamp it had previously received in an If-Modified-Since header. The server compares this timestamp with the current timestamp of the page, and since the page is newer it will render and send the page anew.
Your log is consistently missing that last request, so the server never even has a chance to send out the updated page. For some reason the browser isn't asking for it.
Can you confirm that the timestamps in the log are correct? (It's _supposed_ to consistently use GMT, but if your server is set on local time and something slips through, some things could be an hour off.) I don't see any obvious inconsistencies, though, and the expiration time is hardcoded to January 2001 so it shouldn't matter...
Which version of the software are you using? Did you get it from CVS (when?) or a tarball (which?) Try getting the stable branch from cvs: "cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/wikipedia -r stable co phase" or some such incomprehensible command.
I've sometimes had trouble with headers being overridden or not quite coming out right. If you've got a packet sniffer you can use to check what's actually on the wire between the server and the client, that might be a help; it's possible the Expires and/or Cache-Control headers aren't being set properly. You might try Ethereal (www.ethereal.com) which has a handy-dandy session reconstruction view, good for looking at your HTTP steams; also try the current Mozilla Firebird browser and install the 'Live HTTP headers' extension: http://texturizer.net/firebird/extensions.html#Live%20HTTP%20Headers
(though of course Firebird might differ in its behavior; a packet sniffer can check up on any browser.)
As a last-ditch, of course, you can disable client-side caching by dropping "$wgCachePages = false;" into your LocalSettings. This _should_ force browsers to re-request pages always instead of caching. Well, hopefully. :)
-- brion vibber (brion @ pobox.com)