Squid version 3.5.3.
When the http response received by Squid contains a no-cache="set-cookie", the 
response is not cached. cache.log has the line:
2015/04/14 18:24:38.027 kid1| http.cc(359) cacheableReply: NO because server 
reply Cache-Control:no-cache has parameters

The relevant source code is in http.cc:
        if (rep->cache_control && rep->cache_control->hasNoCache() && 
rep->cache_control->noCache().size() > 0) {
            /* TODO: we are allowed to cache when no-cache= has parameters.
             * Provided we strip away any of the listed headers unless they are 
revalidated
             * successfully (ie, must revalidate AND these headers are 
prohibited on stale replies).
             * That is a bit tricky for squid right now so we avoid caching 
entirely.
             */
            debugs(22, 3, HERE << "NO because server reply 
Cache-Control:no-cache has parameters");
            return 0;
        }

I have read the TODO comment but do not know if this applies to the set-cookie 
parameter too.
Is it okay to add a condition here not to return if the cache-control header 
contains only no-cache="set-cookie"?
In client_side_reply.cc the no-cache="set-cookie" seems to be handled 
correctly, the set-cookie header is removed in the response, which I am 
guessing removes this header correctly in the response:
    if (is_hit)
        hdr->delById(HDR_SET_COOKIE);

Thanks,
sdevadas

_______________________________________________
squid-users mailing list
squid-users@lists.squid-cache.org
http://lists.squid-cache.org/listinfo/squid-users

Reply via email to