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

Reply via email to