I'm using Squid 2.7.STABLE9, which I compiled from source.
My understanding of no-cache
is that the cache must revalidate with the origin server before serving up a cached copy of the resource, and that this takes place with an If-Modified-Since header.
My understanding of s-maxage
is that a shared cache/proxy should consider the resource fresh for the given number of seconds.
My expectation is that Cache-Control: no-cache, s-maxage=300
should trigger Squid to consider the resource fresh for 5 minutes and it should revalidate with the origin server before serving the cached version.
Am I understanding the usage of these headers correctly? If so, should I expect this behavior Squid to carry out this behavior when configured as a reverse proxy?