Hi,

When refreshing a page (with IE) the browser sends a 'If-Modified-Since'
header in the request.  As seen in the debug log below, mod_cache has
verified that the page has not been modified and wants to return an HTTP
status 304.  Somehow this 304 doesn't get to the browser.  Instead of
sending the 304 response apache sends a 200 response without a body
(see ethereal output of request and response below).  This results in the
browser displaying an empty (white) page.

If a request is send without the 'If-Modified-Since' header then everything
works OK, i.e. a 200 response is send with the cached body.

I have already been tracing through httpd with gdb, but found nothing.
Does anyone have any idea about what is going on with the 304 response?


Setup: apache httpd 2.0.40 (with cache patches from CVS)

The request:

        GET /index.html HTTP/1.1
        Accept: */*
        Accept-Language: en-us
        Accept-Encoding: gzip, deflate
        If-Modified-Since: Thu, 02 May 2002 12:01:37 GMT; length=8809
        User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
        Host: pino.be.ubizen.com
        Connection: Keep-Alive

The response:

        HTTP/1.0 200 
        Date: Tue, 10 Sep 2002 09:45:39 GMT
        Server: web server
        Connection: close
        etag: "b9829-2269-3cd12aa1"

The debug log:

        [date] [debug] mod_cache.c(112): cache: URL /index.html is being handled by 
disk
        [date] [info] disk_cache: Serving Cached URL /index.html
        [date] [info] disk_cache: Served headers for URL /index.html
        [date] [debug] mod_cache.c(216): cache: fresh cache - returning status 304

-- 
ir. Kris Verbeeck
Development Engineer

Ubizen - Ubicenter - Philipssite 5 - 3001 Leuven - Belgium
T:  +32 16 28 70 64
F:  +32 16 28 70 77

Ubizen - We Secure e-business - www.ubizen.com

Reply via email to