Hey Brion,
Thank you very much for your detailed reply. I am using the latest stable
release of MediaWiki available from source forge.
I am not sure about the timestamps - they do look all over the place "Thu, 1
Jan 1970 00:00:00 GMT" !!!! maybe this is the problem??
I include below the full HTTP headers from one request. I an by no means
knowlegable about how to troubleshoot these headers, so if anyone could give
them a quick look over, that would be much appreciated. What is annoying is
that I suspect that one setting somewhere on my server needs to be set, but
I don't know what it is.
Thanks again to everyone for their help, I realise we may be drifting from a
Wiki debug to a server debug... any more help is much appreciated.
Cheers, Nik
===================================
http://10.0.0.2/wiki/wiki.phtml?title=Main_Page
GET /wiki/wiki.phtml?title=Main_Page HTTP/1.1
Host: 10.0.0.2
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5a)
Gecko/20030728 Mozilla Firebird/0.6.1
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=
0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer:
http://10.0.0.2/
HTTP/1.x 200 OK
Date: Mon, 15 Sep 2003 11:04:23 GMT
Server: Apache/2.0.40 (Red Hat Linux)
Accept-Ranges: bytes
X-Powered-By: PHP/4.2.2
Set-Cookie: PHPSESSID=047c820390faaeb21986c82a1d32436b; path=/
Cache-Control: private, must-revalidate, max-age=0
Last-Modified: Mon, 15 Sep 2003 09:30:24 GMT
Expires: Mon, 15 Jan 2001 00:00:00 GMT
Content-Language: en
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
----------------------------------------------------------
http://10.0.0.2/favicon.ico
GET /favicon.ico HTTP/1.1
Host: 10.0.0.2
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5a)
Gecko/20030728 Mozilla Firebird/0.6.1
Accept: image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PHPSESSID=047c820390faaeb21986c82a1d32436b
HTTP/1.x 404 Not Found
Date: Mon, 15 Sep 2003 11:04:24 GMT
Server: Apache/2.0.40 (Red Hat Linux)
Content-Length: 313
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
----------------------------------------------------------
http://10.0.0.2/wiki/style/wikistandard.css
GET /wiki/style/wikistandard.css HTTP/1.1
Host: 10.0.0.2
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5a)
Gecko/20030728 Mozilla Firebird/0.6.1
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer:
http://10.0.0.2/wiki/wiki.phtml?title=Main_Page
Cookie: PHPSESSID=047c820390faaeb21986c82a1d32436b
HTTP/1.x 200 OK
Date: Mon, 15 Sep 2003 11:04:24 GMT
Server: Apache/2.0.40 (Red Hat Linux)
Last-Modified: Thu, 28 Aug 2003 16:57:43 GMT
Etag: "c034-4aa-1100efc0"
Accept-Ranges: bytes
Content-Length: 1194
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Content-Type: text/css
----------------------------------------------------------
http://10.0.0.2/wiki/style/wikibits.js
GET /wiki/style/wikibits.js HTTP/1.1
Host: 10.0.0.2
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5a)
Gecko/20030728 Mozilla Firebird/0.6.1
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer:
http://10.0.0.2/wiki/wiki.phtml?title=Main_Page
Cookie: PHPSESSID=047c820390faaeb21986c82a1d32436b
HTTP/1.x 200 OK
Date: Mon, 15 Sep 2003 11:04:24 GMT
Server: Apache/2.0.40 (Red Hat Linux)
Last-Modified: Thu, 28 Aug 2003 16:57:43 GMT
Etag: "c032-b5f-1100efc0"
Accept-Ranges: bytes
Content-Length: 2911
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive
Content-Type: application/x-javascript
----------------------------------------------------------
http://10.0.0.2/wiki/upload/wiki.png
GET /wiki/upload/wiki.png HTTP/1.1
Host: 10.0.0.2
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5a)
Gecko/20030728 Mozilla Firebird/0.6.1
Accept: image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer:
http://10.0.0.2/wiki/wiki.phtml?title=Main_Page
Cookie: PHPSESSID=047c820390faaeb21986c82a1d32436b
HTTP/1.x 200 OK
Date: Mon, 15 Sep 2003 11:04:24 GMT
Server: Apache/2.0.40 (Red Hat Linux)
Last-Modified: Thu, 28 Aug 2003 16:03:49 GMT
Etag: "c035-1e7-503e0340"
Accept-Ranges: bytes
Content-Length: 487
Keep-Alive: timeout=15, max=97
Connection: Keep-Alive
Content-Type: image/png
----------------------------------------------------------
==========================================
"Brion Vibber" <brion(a)pobox.com> wrote in
message news:1063385267.13178.44.camel@frank.vibber.org...
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)