DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22606>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=22606

ETag not considered in responce to If-None-Match request in PHP scripts

           Summary: ETag not considered in responce to If-None-Match request
                    in PHP scripts
           Product: Apache httpd-1.3
           Version: 1.3.28
          Platform: PC
        OS/Version: Windows 9x
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: core
        AssignedTo: [email protected]
        ReportedBy: [EMAIL PROTECTED]


There is a little problem with Apache not understanding ETag responce header 
from PHP script. Specifically, if there comes a request with "If-None-Match" 
and the script responces with "Etag" that matches it, the server still responds 
with "200 OK" status. When checked with static content, Apache has no problem 
responding with "304 Not Modified". 
I notices this misbehavior while testing Apache for script-generated responces 
with "Last-Modified", and Apache again perfectly responds with "304 Not 
Modified". 
As I figured out from rfc2616, the server ought to respond "304 Not Modified" 
if the ETag of
requested resource matches "If-None-Match" request header even if there are no 
time-related headers. Apache does follow this guideline for static content and 
misbehaves with PHP script.
Could you please inform me whether this is designed behavior or this is a bug 
so it will be fixed soon. I searched thru docs and maillists, but found nothing 
related to this.
My Apache is win32 1/3/28

To give you the clear picture with php script:

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, Apache behaves as expected:

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 note that combining two kinds of headers is also 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
...

Regards,
Dennis

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to