Re: WGLC issue: P4 - ETags & conditional requests

Mark Nottingham <mnot@mnot.net> Wed, 25 April 2012 04:42 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9FBB611E8087 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 24 Apr 2012 21:42:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Level:
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id trB92rvISFn1 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 24 Apr 2012 21:42:01 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id C0A0411E8074 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 24 Apr 2012 21:42:00 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.69) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1SMu2J-0003lx-2B for ietf-http-wg-dist@listhub.w3.org; Wed, 25 Apr 2012 04:41:03 +0000
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.69) (envelope-from <mnot@mnot.net>) id 1SMu29-0003l0-7N for ietf-http-wg@listhub.w3.org; Wed, 25 Apr 2012 04:40:53 +0000
Received: from mxout-07.mxes.net ([216.86.168.182]) by lisa.w3.org with esmtp (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1SMu1m-00038U-0H for ietf-http-wg@w3.org; Wed, 25 Apr 2012 04:40:38 +0000
Received: from [10.4.229.38] (unknown [69.20.3.135]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id CE04E22E259; Wed, 25 Apr 2012 00:40:08 -0400 (EDT)
Mime-Version: 1.0 (Apple Message framework v1257)
Content-Type: text/plain; charset=us-ascii
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <B5E63193-2450-41AD-A3AA-047755F2189D@niven-jenkins.co.uk>
Date: Wed, 25 Apr 2012 14:40:04 +1000
Cc: "ietf-http-wg@w3.org Group" <ietf-http-wg@w3.org>, John Sullivan <jsullivan@velocix.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <6B348243-BC1C-48C0-822A-1649FDAF7091@mnot.net>
References: <B5E63193-2450-41AD-A3AA-047755F2189D@niven-jenkins.co.uk>
To: Ben Niven-Jenkins <ben@niven-jenkins.co.uk>
X-Mailer: Apple Mail (2.1257)
Received-SPF: pass client-ip=216.86.168.182; envelope-from=mnot@mnot.net; helo=mxout-07.mxes.net
X-W3C-Hub-Spam-Status: No, score=-1.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: lisa.w3.org 1SMu1m-00038U-0H 64de94aeb05d722f06c844fbef6cde74
X-Original-To: ietf-http-wg@w3.org
Subject: Re: WGLC issue: P4 - ETags & conditional requests
Archived-At: <http://www.w3.org/mid/6B348243-BC1C-48C0-822A-1649FDAF7091@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/13474
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
Resent-Message-Id: <E1SMu2J-0003lx-2B@frink.w3.org>
Resent-Date: Wed, 25 Apr 2012 04:41:03 +0000

Now <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/354>.

Cheers,


On 24/04/2012, at 3:47 AM, Ben Niven-Jenkins wrote:

> Hi,
> 
> Apologies that this mail misses the WG LC deadline, in Velocix we're reviewing all the HTTPBIS documents but we're a little behind, hence the late comments, sorry. (we're still reviewing so might have more comments as we work through the documents)
> 
> On page 14 of P4 it states:
> 
>   If none of the entity-tags match, or if "*" is given and no current
>   representation exists, the server MUST NOT perform the requested
>   method.  Instead, the server MUST respond with the 412 (Precondition
>   Failed) status code.
> 
> This appears to apply to intermediates, but If-Match has a problem
> here that If-Unmodified-Since does not. If a proxy has a cached
> entity which has a newer Last-Modified timestamp it *knows* that
> the conditional has failed and can generate the required
> 412 Precondition Failed response itself. Otherwise it can satisfy
> the request from cache. Or relay if there is no current cached
> version.
> 
> But because multiple responses with different ETags may exist then a cache receiving If-Match with one etag, when it has a different etag cached, can not know for sure that the request etag does not exist. If it were to respond with a 412 status it would effectively be preventing the use of that conditional.
> 
> It would appear that the only two options available to an intermediate are to satisfy the request in the case of a known match, and relay upstream in all other cases (which would be in conflict with the spec as quoted above).
> 
> Thanks
> Ben
> 
> 

--
Mark Nottingham   http://www.mnot.net/