#25204 [Bgs]: ETag Responce Header Ignored
| From: | support at inmarket dot lviv dot ua | Date: | Sat, 23 Aug 2003 16:36:58 +0000 |
| Subject: | #25204 [Bgs]: ETag Responce Header Ignored | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-46524@lists.php.net to get a copy of this message | ||
ID: 25204
User updated by: support at inmarket dot lviv dot ua
Reported By: support at inmarket dot lviv dot ua
Status: Bogus
Bug Type: CGI related
Operating System: win32
PHP Version: 4.3.2
New Comment:
And what if some stupid hosting provider has PHP thru CGI??? Like mine
does! And, after all, why does this happen? This must be a trivial task
to fix?
Previous Comments:
------------------------------------------------------------------------
[2003-08-22 19:57:50] sniper@php.net
This is not really Apache related but CGI. If you were really using the
apache module, this would propably work just fine.
See: http://www.mnot.net/cgi_buffer/
------------------------------------------------------------------------
[2003-08-22 09:52:04] support at inmarket dot lviv dot ua
The test script simply sends "ETag" header via header("ETag:
0-1234-12345678");
My Apache is win32 1.3.28, PHP 4.3.2 CGI - default configuration
------------------------------------------------------------------------
[2003-08-22 03:21:39] sniper@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php4-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip
Also, what is in your script?
Which apache version?
How did you configure PHP?
------------------------------------------------------------------------
[2003-08-22 02:47:54] support at inmarket dot lviv dot ua
Description:
------------
Actually I posted this bug to Apache, but they said this is PHP bug.
I noticed that ETag responce header from PHP script is simply ignored.
If there comes a request with "If-None-Match" and the script responds
with "ETag" that matches it, the server responds with "200 OK" status.
When checked with static content, Apache has no problem responding with
"304 Not Modified".
There is no problem when script responds with "Last-Modified", and the
server then ends up with "304 Not Modified".
What I got from Apache bug report system:
This is a php bug. The handler (read: PHP) is responsible for calling
ap_meets_conditions at the proper place (i.e. before sending the
content) or
doing the evaluation that takes place there itself.
Please address this issue to the php bug database.
Regards,
Dennis
Reproduce code:
---------------
Request:
GET /temp/etag.php HTTP/1.1
If-None-Match: "0-1234-12345678"
Responce:
HTTP/1.1 200 OK -- should be 304 as for static content is
ETag: "0-1234-12345678"
Whereas using time-related headers:
Request:
GET /temp/etag.php HTTP/1.1
If-Modified-Since: Thu, 31 Jul 2003 19:12:11 GMT
Responce:
HTTP/1.1 304 Not Modified -- as expected
Last-Modified: Thu, 31 Jul 2003 19:12:11 GMT
Also combining two kinds of headers is useless:
Request:
GET /temp/etag.php HTTP/1.1
If-None-Match: "0-1234-12345678"
If-Modified-Since: Thu, 31 Jul 2003 19:12:11 GMT
Responce:
HTTP/1.1 200 OK -- Note this happens despite Last-Modified!
ETag: "0-1234-12345678"
Last-Modified: Thu, 31 Jul 2003 19:12:11 GMT
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=25204&edit=1