We seem to have an issue with users editing on our site with Firefox (reproducible on a Mac, not on Windows)
After posting the edit, the server responds with a redirect:
HTTP/1.x 302 Moved Temporarily Location: http://www.wikihow.com/Make-Dumplings
FF doesn't seem to reissue a request for this article though, and shows the old copy of it without going back to the server. I've double checked this using LiveHTTPHeaders.
This seems odd, does anyone have any idea why this would happen? It also seems dependent on time, if the users makes submits an edit within 30 seconds of loading the article, they get the stale version, but if they wait longer, they are more likely to get the fresh version. Other browsers do get the fresh copy if loaded separately with the URL.
The normal 200 response for the article includes the cache information:
Cache-Control: s-maxage=86400, must-revalidate, max-age=0
but the 302 redirect doesn't include any info about must-revalidate. Could this be an issue?
This didn't seem to be an issue earlier than today, we did upgrade to PHP 5.2.4/eaccelerator 0.9.5.2, I'm not sure if this is related.
Thanks, Travis
Travis Derouin wrote:
We seem to have an issue with users editing on our site with Firefox (reproducible on a Mac, not on Windows)
After posting the edit, the server responds with a redirect:
HTTP/1.x 302 Moved Temporarily Location: http://www.wikihow.com/Make-Dumplings
FF doesn't seem to reissue a request for this article though, and shows the old copy of it without going back to the server. I've double checked this using LiveHTTPHeaders.
This seems odd, does anyone have any idea why this would happen? It also seems dependent on time, if the users makes submits an edit within 30 seconds of loading the article, they get the stale version, but if they wait longer, they are more likely to get the fresh version. Other browsers do get the fresh copy if loaded separately with the URL.
The normal 200 response for the article includes the cache information:
Cache-Control: s-maxage=86400, must-revalidate, max-age=0
but the 302 redirect doesn't include any info about must-revalidate. Could this be an issue?
No, the redirect does not affect caching for its destination. The problem is most likely a change to the response headers for the article itself. For instance, is there an "Expires" header?
Reading the section on caching in RFC 2616 may be helpful for you.
This didn't seem to be an issue earlier than today, we did upgrade to PHP 5.2.4/eaccelerator 0.9.5.2, I'm not sure if this is related.
I would recommend downgrading it to see if that is the problem.
-- Tim Starling
We modified our site so we could cache all pages, regardless of cookies, so we could use Google Analytics. It turns out when the Cookie part is removed from the Vary header, FF serves the stale version. Weird! Also, it turns out when we keep the Cookie part, our cache hit ratio is still about 87%, I would have expected it to drop since all users are cookied with the GA code.
Thanks.
wikitech-l@lists.wikimedia.org