|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2003-08-22 02:47 UTC] 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 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Nov 05 11:00:02 2025 UTC |
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