On 15 Jan 2007, at 18:05, Graham Leggett wrote:

Giuliano Gavazzi wrote:

I have found that mod_disk_cache is definitely not compatible with mod_include when the SSI pages contain something like <!--#exec cmd="./foo.sh" --> (or even an include virtual that points to a cgi).

This isn't so much a cache problem, but rather a problem with the SSI stuff.

The cache is a standard RFC2616 compliant cache (or at least it tries to be), but in order to do so effectively, it needs the cooperation of the content itself.

In order for caches to work, the Last-Modified or ETag headers need to be set correctly on the content, and this isn't always the case. When this happens, content isn't cached.

I do not agree, as the content *is* cached, but the cache content is not correct. Also, in the revision I mentioned (I think part of 2.3) the problem again is not that the content is not cached, as it is indeed cached and with the correct content, but that the size of the cached file is not stored in the cache and so, when the cache is consulted later, is discarded. This, I think, happens because in mod_cache' s cache_save_filter you have the following calls is this order:

1) store_headers

2) store_body

but the size of the body is not know until store_body is called, and in particular only after:
                dobj->file_size += written;

has been called.

(this is just what I think is happening, but I do not pretend of having understod anything!)

Giuliano

Reply via email to