httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kris Verbeeck <>
Subject Cached response: 304 send as 200
Date Tue, 10 Sep 2002 09:46:52 GMT

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)
	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 -

View raw message