Confusion in preconditions

Sebastien Lambla <seb@serialseb.com> Wed, 01 February 2012 02:37 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 A4B0611E80AC for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 31 Jan 2012 18:37:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.598
X-Spam-Level:
X-Spam-Status: No, score=-10.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, 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 xbI4tu7+LFan for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 31 Jan 2012 18:37:04 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id D51CF11E809B for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 31 Jan 2012 18:37:04 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.69) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1RsQ3U-0004mk-Hz for ietf-http-wg-dist@listhub.w3.org; Wed, 01 Feb 2012 02:36:16 +0000
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.69) (envelope-from <seb@serialseb.com>) id 1RsQ3J-0004jO-1Q for ietf-http-wg@listhub.w3.org; Wed, 01 Feb 2012 02:36:05 +0000
Received: from prism.caffeine-it.net ([109.169.48.57]) by maggie.w3.org with esmtp (Exim 4.72) (envelope-from <seb@serialseb.com>) id 1RsQ3G-0005lk-TH for ietf-http-wg@w3.org; Wed, 01 Feb 2012 02:36:04 +0000
Received: from PRISM.caffeine-it.net ([fe80::35e4:b04c:7dd0:3207]) by PRISM.caffeine-it.net ([fe80::35e4:b04c:7dd0:3207%14]) with mapi; Wed, 1 Feb 2012 02:35:35 +0000
From: Sebastien Lambla <seb@serialseb.com>
To: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Thread-Topic: Confusion in preconditions
Thread-Index: AczgiixVAHB5PwtgQx2EkInci/xA3A==
Date: Wed, 01 Feb 2012 02:35:34 +0000
Message-ID: <3DDD0BE655869D4EA506652B3803AEF6C3519BA5@PRISM.caffeine-it.net>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: multipart/alternative; boundary="_000_3DDD0BE655869D4EA506652B3803AEF6C3519BA5PRISMcaffeineit_"
MIME-Version: 1.0
Received-SPF: pass client-ip=109.169.48.57; envelope-from=seb@serialseb.com; helo=prism.caffeine-it.net
X-W3C-Hub-Spam-Status: No, score=-1.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1RsQ3G-0005lk-TH 6921b508efeb7277b4d14a430dda46fd
X-Original-To: ietf-http-wg@w3.org
Subject: Confusion in preconditions
Archived-At: <http://www.w3.org/mid/3DDD0BE655869D4EA506652B3803AEF6C3519BA5@PRISM.caffeine-it.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/12292
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: <E1RsQ3U-0004mk-Hz@frink.w3.org>
Resent-Date: Wed, 01 Feb 2012 02:36:16 +0000

 Hi,

I'm confused by the text in p4-conditional.

2.4.

 An HTTP/1.1 origin server, upon receiving a conditional request that
   includes both a Last-Modified date (e.g., in an If-Modified-Since or
   If-Unmodified-Since header field) and one or more entity-tags (e.g.,
   in an If-Match, If-None-Match, or If-Range header field) as cache
   validators, MUST NOT return a response status code of 304 (Not
   Modified) unless doing so is consistent with all of the conditional
   header fields in the request.

3.1, 3.2, 3.3, 3.4

The result of a request having both an If-Match header field and
   either an If-None-Match or an If-Modified-Since header fields is
   undefined by this specification.

I *think* the specification does define partially a behavior when multiple conditional headers are present in the scenario leading to a 304, or am I misunderstanding the definition?