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. _______________________________________________ squid-dev mailing list [email protected] https://lists.squid-cache.org/listinfo/squid-dev
