Re: 103 (Early Hints) vs. response headers

Willy Tarreau <w@1wt.eu> Wed, 15 March 2017 06:26 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@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 DD39F129508 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 14 Mar 2017 23:26:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.901
X-Spam-Level:
X-Spam-Status: No, score=-6.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cT4Knyo1yUPu for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 14 Mar 2017 23:26:44 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5F33A129502 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 14 Mar 2017 23:26:44 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1co2LE-00059j-GC for ietf-http-wg-dist@listhub.w3.org; Wed, 15 Mar 2017 06:23:24 +0000
Resent-Date: Wed, 15 Mar 2017 06:23:24 +0000
Resent-Message-Id: <E1co2LE-00059j-GC@frink.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by frink.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <w@1wt.eu>) id 1co2L5-00057h-01 for ietf-http-wg@listhub.w3.org; Wed, 15 Mar 2017 06:23:15 +0000
Received: from wtarreau.pck.nerim.net ([62.212.114.60] helo=1wt.eu) by titan.w3.org with esmtp (Exim 4.84_2) (envelope-from <w@1wt.eu>) id 1co2Ky-0002AU-Lp for ietf-http-wg@w3.org; Wed, 15 Mar 2017 06:23:09 +0000
Received: (from willy@localhost) by pcw.home.local (8.15.2/8.15.2/Submit) id v2F6MgO9013829; Wed, 15 Mar 2017 07:22:42 +0100
Date: Wed, 15 Mar 2017 07:22:42 +0100
From: Willy Tarreau <w@1wt.eu>
To: Kazuho Oku <kazuhooku@gmail.com>
Cc: Mark Nottingham <mnot@mnot.net>, Vasiliy Faronov <vfaronov@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
Message-ID: <20170315062242.GB13814@1wt.eu>
References: <CALHHdhwQBfBN0Xz-4kxRJrJekiCLnro1i-MVw954wTRyOWAtvw@mail.gmail.com> <E10BB6E0-3BD8-44EC-AE18-076D38077371@mnot.net> <CANatvzxS7Z9U5Jr2N_EeyY5NUrZ-weuGsetuUQdLWGGOQKVLNw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CANatvzxS7Z9U5Jr2N_EeyY5NUrZ-weuGsetuUQdLWGGOQKVLNw@mail.gmail.com>
User-Agent: Mutt/1.6.1 (2016-04-27)
Received-SPF: pass client-ip=62.212.114.60; envelope-from=w@1wt.eu; helo=1wt.eu
X-W3C-Hub-Spam-Status: No, score=-7.0
X-W3C-Hub-Spam-Report: AWL=0.943, BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, W3C_AA=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1co2Ky-0002AU-Lp c8ab8ff7363049e8b6a7041993bac14a
X-Original-To: ietf-http-wg@w3.org
Subject: Re: 103 (Early Hints) vs. response headers
Archived-At: <http://www.w3.org/mid/20170315062242.GB13814@1wt.eu>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/33727
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>

On Wed, Mar 15, 2017 at 12:02:53PM +0900, Kazuho Oku wrote:
> 2017-02-24 9:12 GMT+09:00 Mark Nottingham <mnot@mnot.net>:
> > My .02 -
> >
> >> On 24 Feb 2017, at 2:27 am, Vasiliy Faronov <vfaronov@gmail.com> wrote:
> >>
> >>    HTTP/1.1 103 Early Hints
> >>    Link: </another-resource>; rel=preload
> >>    Warning: 299 - "something is not quite right"
> >>
> >>    HTTP/1.1 200 OK
> >>    Date: Thu, 23 Feb 2017 16:49:43 GMT
> >>    Content-Type: text/html
> >>    Link: </another-resource>; rel=preload
> >>    Connection: close
> >>
> >>    ...text goes here...
> >>
> >> Should it log/display the warning (as applied to the 103 response), or
> >> discard it (as missing from the 200 response)?
> >>
> >> Should the spec for 103 be more explicit about this?
> >
> > My reading is that "officially", the Warning is not in the response; the server thought something was wrong early in the process, but then realised it was fine.
> >
> > So, it MAY log/display the warning, but if it doesn't, it's still conformant.
> >
> > Some more examples might help.
> 
> RFC 6265 states that a user agent "MAY ignore Set-Cookie headers
> contained in responses with 100-level status codes".

Yes but it's mostly as a warning for server side to know that any cookie
sent there may be ignored (since 1xx may be appear multiple times and be
silently skipped).

> So to me it seems that if we state in Early Hints that the headers of
> a 103 response is ones that are applied (speculatively) to the final
> response but not the informational response itself, then we'd be
> overriding RFC 6265.

I'm not seeing it this way. In fact you may decide to put some headers
there for this exact reason : while 1xx MAY be ignored, those implementing
103 MAY/WILL consider them. And you're sending 103 hoping that someone
will make good use of it, not as a guarantee, so I don't think it
contradicts 6265.

Cheers,
Willy