On Tue, 15 Feb 2011 11:18:38 -0800, Andy Nagai wrote:
> Is there any way to force cache refresh of a specific cached page or
> specific javascript or css file?
 Usually yes. There is one case when its not: a remote visitor 
 attempting to force-refresh a hardened reverse-proxy.
 * The client can send no-cache, max-age=0 or must-revalidate in its 
 request headers. Any one of which will force revalidation and update of 
 the cached object. Although you need to be careful that the variant 
 headers match between the new request and what is cached.
 * The server can also start sending no-cache, max-age=0, no-store or 
 private  in the Cache-Control: headers or an Expires: in the past. The 
 next validation will currently erase cached versions of the objects. 
 This is technically an HTTP loophole so will not always be the case, but 
 it works for squid-3.1 and older.
 * If HTCP protocol is enabled an HTCP CLR message can be sent to the 
 proxy. This will update all HTCP-enabled peers as well with one UDP 
 packet. The next client request will pull a fresh copy into cache.
 * If PURGE method is explicitly configured a PURGE request can be sent 
 to the proxy. Again the variant headers MUST match between the request 
 and the cached object. The next client request will pull a fresh copy 
 into cache. (HTCP CLR is far better if you can)
>
> Is there a way to clear out the cache completely from a web 
> interface?
>
 No. Clearing the cache is a last-resort action when things go 
 completely bad. This is an admin task which is a bad idea to allow 
 people to perform trivially.
 When configured to permit PURGE requests Squid will accept them and 
 remove the cached entry matching the given URL and any variant headers 
 in the request (other variants may be left in cache but inaccessible). 
 This can be repeated for every URL in the cache.
 That said, requests like yours are often made by admin with bad 
 configurations and/or old versions of Squid. If it is your own Squid 
 check that squid is obeying the HTTP cache-control headers (not 
 violating them with refresh_pattern to forcing things to stay cached 
 beyond their valid lifetime). Also we have an old and ongoing effort to 
 improve the caching, using a recent version is important for best HTTP 
 compliance.
 Amos
Received on Tue Feb 15 2011 - 23:03:13 MST
This archive was generated by hypermail 2.2.0 : Wed Feb 16 2011 - 12:00:03 MST