On 17/02/2014 12:47 a.m., Boaz Citrin wrote: > Sorry, I confused between PUT and DELETE. Actually the DELETE is > request doesn't invalidate the cache on 202 response. > And this doesn't conform with the spec: > "If a DELETE > request passes through a cache that has one or more stored responses > for the effective request URI, those stored responses will be > invalidated" > > Any idea? Are there Vary headers in the responses for the URL normally? The DELETE invalidation process in Squid does not necessarily remove all copies of variants. Amos > > On Sun, Feb 16, 2014 at 12:42 PM, Amos Jeffries <squid3@xxxxxxxxxxxxx> wrote: >> On 16/02/2014 10:41 p.m., Boaz Citrin wrote: >>> Hello, >>> >>> I want to invalidate the cache when my server returns 202 to a PUT >>> request, however it seems like Squid ignores the Cache-Control when >>> return code is 202. >> >> From the latest specification >> http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-26#section-4.3.4 >> >> " >> Responses to the PUT method are not cacheable. If a successful PUT >> request passes through a cache that has one or more stored responses >> for the effective request URI, those stored responses will be >> invalidated (see Section 4.4 of [Part6]). >> " >> >>> >>> Tried to set must-revalidate or even not to return any Cache-Control >>> header but these all result no update to cache so subsequent GET >>> request results HIT while I expect a MISS. >>> Note that Vary header is not present in response. >>> >>> I am using 2.7.STABLE8 on Windows. No patch, just the installer from >>> http://sourceforge.net/projects/squidwindowsmsi/ >> >> >> Your version of Squid is known to be only ~60% compliant with the >> HTTP/1.1 specification and it seems this is possibly one of the missing >> bits. Please consider an upgrade (sadly that means using a non-Windows >> server for Squid). >> >> Amos >>