|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2000-11-29 11:52 UTC] jr-php at quo dot to
[2000-11-29 11:57 UTC] stas@php.net
[2002-06-17 13:20 UTC] hholzgra@php.net
[2002-06-17 14:00 UTC] jr-php at quo dot to
[2002-06-18 04:12 UTC] markonen@php.net
[2002-06-18 11:06 UTC] jr-php at quo dot to
[2002-06-18 11:58 UTC] markonen@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2026 The PHP GroupAll rights reserved. |
Last updated: Sun Jun 14 09:00:02 2026 UTC |
PHP: 4.0.3p1 Apache: 1.3.14 Browser: IE 5.5 SP1 Because I want my PHP pages to be cached, my PHP script sends out a Last-Modified header (entire code follows): <?php Header ("Last-Modified: Mon, 27 Nov 2000 00:00:00 GMT"); ?> Test... One would think that this would be enough to get a web browser to cache the page, but evidently it is not. Examining my web server's access log shows that each time the page is subsequently requested (e.g. by pressing Refresh), it sends back a "200 OK" response code instead of a "304 Not Modified" as it should. In other words, the server is sending back a fresh copy of the page every time. However, if I do a similar thing using a CGI script, the server *does* send back "304" codes as it should (entire code follows): #!/bin/sh echo "Last-Modified: Mon, 27 Nov 2000 00:00:00 GMT" echo "Content-Type: text/html" echo "" echo "Test..." In both cases, an "If-Modified-Since" header is being sent to the server. Yet the PHP script appears to ignore it completely and send a fresh page, while the very simple CGI shell script doesn't. P.S. At the bottom of this are transcripts of the HTTP requests for the PHP & CGI scripts. Notice how PHP sends back a fresh page even though the If-Modified-Since date is the same as the Last-Modified date. P.P.S. I just noticed that this problem affects PHP's own web site too! The page http://www.php.net/ returns a Last-Modified header, but browsers receive a fresh copy of the page every time since If-Modified-Since is ignored. --- PHP script --- GET /test.php HTTP/1.0 If-Modified-Since: Mon, 27 Nov 2000 00:00:00 GMT HTTP/1.1 200 OK Date: Mon, 27 Nov 2000 20:41:29 GMT Server: Apache/1.3.14 (Unix) PHP/4.0.3pl1 X-Powered-By: PHP/4.0.3pl1 Last-Modified: Mon, 27 Nov 2000 00:00:00 GMT Connection: close Content-Type: text/html Test... --- CGI shell script --- GET /cgi-bin/test.cgi HTTP/1.0 If-Modified-Since: Mon, 27 Nov 2000 00:00:00 GMT HTTP/1.1 304 Not Modified Date: Mon, 27 Nov 2000 20:41:46 GMT Server: Apache/1.3.14 (Unix) PHP/4.0.3pl1 Connection: close