On Thu, Aug 11, 2011 at 10:59 AM, Alex Rousskov <[email protected]> wrote: > On 08/10/2011 04:18 PM, Robert Collins wrote: >> How is case B different to If-None-Match ? > > The origin server may not supply enough information for If-None-Match > request to be possible OR it may lie when responding to If-None-Match > requests.
The parent squid could handle the case when the origin lies though, couldn't it ? So: client -> child -> parent -> origin if client asks for url X, child has an old copy, child could add If-None-Match, parent could detect that origin sends the same bytes (presumably by spooling the entire response) and then satisfy the If-None-Match, and child can give an unconditional reply to client, which hadn't had the original bytes. That doesn't help with the not-enough-information case, which is I presume the lack of a strong validator. So, perhaps we could consider this 'how can intermediaries add strong validators' - if we do that, and then (in squid - no http standards violation) - honour If-None-Match on those additional validators, it seems like we'll get the functionality you want, it a slightly more generic (and thus reusable) way ? -Rob
