httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Leggett <minf...@sharp.fm>
Subject Re: svn commit: r1021946 - /httpd/httpd/trunk/modules/cache/mod_cache.c
Date Mon, 18 Oct 2010 14:56:49 GMT
On 18 Oct 2010, at 4:41 PM, Plüm, Rüdiger, VF-Group wrote:

> Ok, I missed that. Thanks for the pointer.
> But shouldn't we remove the following code from  
> cache_check_freshness then:
>
>    /* This value comes from the client's initial request. */
>    cc_req = apr_table_get(r->headers_in, "Cache-Control");
>    pragma = apr_table_get(r->headers_in, "Pragma");
>
>    ap_cache_control(r, &cache->control_in, cc_req, pragma, r- 
> >headers_in);

The above still needs to be there, as we use other information from  
the request (like max-age) in the freshness check below.

ap_cache_control() has a check to ensure that it only parses the  
header once, so calling it a second time isn't a problem.

>    if (cache->control_in.no_cache) {
>
>        if (!conf->ignorecachecontrol) {
>            /* Treat as stale, causing revalidation */
>            return 0;
>        }
>
>        ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r,
>                "Incoming request is asking for a uncached version of "
>                "%s, but we have been configured to ignore it and "
>                "serve a cached response anyway",
>                r->unparsed_uri);
>    }

In theory, the above is caught by ap_cache_check_allowed(), so doesn't  
do anything, on condition we always call ap_cache_check_allowed()  
before running cache_check_freshness().

> Yeah, the patch below makes the behaviour consistent and makes sense.

Will commit it.

I've found some more stuff that can be optimised in  
cache_check_freshness(), will look at this in more detail tonight.

Regards,
Graham
--


Mime
View raw message