[squid-dev] Cache-Groups RFC draft

Alex Rousskov rousskov at measurement-factory.com
Wed Oct 30 13:42:01 UTC 2024


On 2024-10-30 07:09, Francesco Chemolli wrote:

> do we have any opinion on
> https://www.ietf.org/archive/id/draft-ietf-httpbis-cache-groups-02.html
> ?

> "The Cache-Group-Invalidation header field MUST be ignored on
> responses to requests that have a safe method (e.g., GET [and HEAD])"


AFAICT, the proposed group invalidation mechanism does not affect 
current Squids because Squid does not cache responses to requests with 
unsafe methods; see HttpRequestMethod::respMaybeCacheable(). To support 
draft-ietf-httpbis-cache-groups in a meaningful way, one has to extend 
Squid caching support to unsafe methods first.

After that, supporting group invalidation would require building and 
maintaining additional persistent cache indexes and/or state, which is a 
serious development project, especially because high-level API in front 
of that state (at least) should be agnostic to cache_dir/cache_mem type. 
There is no proper equivalent of such a mechanism today (store_table is 
not it). Completing several Store::Controller architecture TODOs should 
be evaluated as a required prerequisite. I do not recommend starting on 
that large and difficult work without a specific long-term need and 
commitment, especially given the amount of Squid developer 
cooperation/coordination it requires.

BTW, the need for group invalidation in Squid existed since ICAP support 
was added in 2005 (at least) because ICAP services may send ISTag header 
with similar cache invalidation semantics. ISTag needs should be kept in 
mind when adding draft-ietf-httpbis-cache-groups support.


HTH.

Alex.



More information about the squid-dev mailing list