[squid-users] replacement for obsoleted cache controls (ign-no-cache; ign-must-reval. + ign-auth)

Alex Rousskov rousskov at measurement-factory.com
Sun Dec 6 20:14:12 UTC 2020


On 12/6/20 10:12 AM, L A Walsh wrote:
> Since the early 4.x series and now, the cache control headers:

> ignore-no-cache
> ignore-must-revalidate
> ignore-auth

> have been "obsoleted".  Indicating something has replaced them and
> there's a new & better way to ignore those headers for
> static files (most often web-fonts, though some javascript files
> also fall into that category).


AFAICT, the options were _not_ removed because there are new/better
options to ignore the corresponding directives. I see how this can be
confusing in a classical "obsoletion" context. I will try to clarify:

* ignore-no-cache

Squid v3.2 release notes imply that Squid does what most admins want
now, without any explicit option: "Its commonly desired behaviour is
obsoleted by correct HTTP/1.1 Cache-Control:no-cache handling." Commit
7ed5335 message details that claim:
https://github.com/squid-cache/squid/commit/7ed5335


* ignore-must-revalidate

Squid v4 release notes claim that "Other more HTTP compliant directives
(cache, store_miss) can be used to prevent objects from caching". That
official statement mismatches the ignore-must-revalidate intent AFAICT:
The ignore-must-revalidate intent was to prevent revalidations rather
than prevent caching.

The corresponding commit message paints a rather different picture by
claiming that ignore-must-revalidate was broken -- it was actually
preventing caching rather preventing revalidation (and caused other
problems):
https://github.com/squid-cache/squid/commit/064679e

If you combine the two together, you may get something like "the option
was removed because it did not do what it promised to do, and what it
actually did can be accomplished with cache and store_miss".


* ignore-auth

Squid v4 release notes imply that Squid does what most admins want now,
without any explicit option: "Its commonly desired behaviour is
performed by default with correct HTTP/1.1 revalidation". More details
at https://github.com/squid-cache/squid/commit/d94cbaa


Please do not shoot the messenger -- I am just relaying and interpreting
the official information. If you have a specific use case that cannot be
addressed using the existing directives, please ask about that specific
use case, detailing what Squid receives and what you want Squid to do.


HTH,

Alex.


More information about the squid-users mailing list