On 5/18/07, Ruediger Pluem <[EMAIL PROTECTED]> wrote:
> @@ -477,8 +477,10 @@
> reason = "No Last-Modified, Etag, or Expires headers";
> }
> else if (r->header_only) {
> - /* HEAD requests */
> - reason = "HTTP HEAD request";
> + /* Forbid HEAD requests unless we have it cached already */
> + if (!cache->stale_handle) {
> + reason = "HTTP HEAD request";
> + }
> }
> else if (!conf->store_nostore &&
> ap_cache_liststr(NULL, cc_out, "no-store", NULL)) {
Is this correct? In the case that we have a HEAD request on a stale cached
entity we would ignore any of the following conditions like
Cache-Control: nostore, Cache-Control: private, an Authorization header in the
request, Vary *, or r->no_cache being set and update the headers of the
entity with the contents of the HEAD response. This sounds wrong to me.
Why not using
(r->header_only && !cache->stale_handle)
instead?
Yah - I was trying to be too cute, I guess. I'll commit to trunk with
it as one if statement and that should resolve this last concern...
Thanks! -- justin