Hi,
In the app I'm testing ZAP has flagged many of our response with a low risk warning of "Incomplete or No Cache-control and Pragma HTTP Header Set warning". ZAP suggests the following solution: "Whenever possible ensure the cache-control HTTP header is set with no-cache, no-store, must-revalidate, private; and that the pragma HTTP header is set with no-cache." If no-store is specified, why are the other headers required?
When I read the HTTP 1.1 spec, my understanding from sections
14.9 - 14.9.2 is if
no-store is specified, then responses must not be cached (shared or non-shared); caching is off, therefore the need to specify
no-cache, private, etc
. is obviated. Google developers published a
diagram on optimal caching policy which appears to confirm my understanding of the spec: if
no-store is specified nothing else is needed.
Have I missed something from ZAP's perspective?
Thanks in advance,
Mark