[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