Re: 103 (Early Hints) vs. response headers

Kazuho Oku <kazuhooku@gmail.com> Mon, 27 February 2017 03:22 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 74F641296AD for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 26 Feb 2017 19:22:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.501
X-Spam-Level:
X-Spam-Status: No, score=-6.501 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_SORBS_SPAM=0.5, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 mo9XdxQm1u47 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 26 Feb 2017 19:22:20 -0800 (PST)
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 10B951296AC for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 26 Feb 2017 19:22:19 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1ciBq3-0005nd-Jl for ietf-http-wg-dist@listhub.w3.org; Mon, 27 Feb 2017 03:19:03 +0000
Resent-Date: Mon, 27 Feb 2017 03:19:03 +0000
Resent-Message-Id: <E1ciBq3-0005nd-Jl@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 <kazuhooku@gmail.com>) id 1ciBpx-0005mX-Kj for ietf-http-wg@listhub.w3.org; Mon, 27 Feb 2017 03:18:57 +0000
Received: from mail-oi0-f54.google.com ([209.85.218.54]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <kazuhooku@gmail.com>) id 1ciBpq-0007EX-N8 for ietf-http-wg@w3.org; Mon, 27 Feb 2017 03:18:52 +0000
Received: by mail-oi0-f54.google.com with SMTP id 62so32958023oih.2 for <ietf-http-wg@w3.org>; Sun, 26 Feb 2017 19:18:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=pFtCiocI3D08bueyKHSKj6vj4xUegGrown/I3rIPinQ=; b=mY5qkwm/g1jx00Ub9TkjYO1KEXpD0afg/jGOpcd5jZMMu2P8ZQ9oEK13H51Curavd0 JY7g2mMjJPDE8aiMutEpD6xqGAq/0VAUz4V8DxYlPQCkHdGbnVCxUjBMSjGe/uJbPAEo PWKL/cfqhvr6kjeEhleEinw6ji47HUJkBkstSyBdpzyUr1QFUupQKvpDvnE+T0ugNxEJ 6UZSkR6MSFU4zZVjIkw49OAes0Rh7Te7s33zXftTX4AdllAti5tylTtSe8VUk7Q7P3GG MJM1iVrWVhtUe+6rJThE8rEGbYsxVx5gygrpCC4zQ2U9azVzRSY18hPl0MwdxGgULaDX Pssw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=pFtCiocI3D08bueyKHSKj6vj4xUegGrown/I3rIPinQ=; b=N1RVaTvJHDaLwoWnLJTx4tWcH0lS92/7zmD+2Xk3cV1SVmVj1cHIdwwhkAcc2pX9GG 8BwtjQBEysKVn5c80pAl5DjL+oPj5KH99zTAIOpg67jJXXzO/FGuN72nBiimM64GWRgG o3OPKOMzC+zCVXNe5uTMS6GKqFsgRcSRvMUb6yiEDC6HAsTQ0MhLg8XnIaL9X0jqnCRD wB0tPcGvs3pwrLdbunl5V3K3ivtQMso0vgIJ7yLet8r42tIDhrIww9aSn6GNA5dbIY8k KNSWr0D1XXS6oJOprtjGUv26avqy7HFs/O/E19v4JHvvXWRXIDrot7/g0kmF/+bEKChc PNmg==
X-Gm-Message-State: AMke39lD2uZXDAItXtjqAhg8cfRjVWTunQfjTnu8MBXnfcUYRBUG/YViRiewb2mWJ48U0GArcOA8Pk9cBaR+uw==
X-Received: by 10.202.205.18 with SMTP id d18mr7689352oig.188.1488165503646; Sun, 26 Feb 2017 19:18:23 -0800 (PST)
MIME-Version: 1.0
Received: by 10.157.27.72 with HTTP; Sun, 26 Feb 2017 19:18:23 -0800 (PST)
In-Reply-To: <CALHHdhxy2sj2TdmyKk-1UcRjK7WCooZ+Sz91_LjnudxscPH6xQ@mail.gmail.com>
References: <CALHHdhwQBfBN0Xz-4kxRJrJekiCLnro1i-MVw954wTRyOWAtvw@mail.gmail.com> <CANatvzzDOPwmQhouX4LqVM8ALecwQ1So0B_uZSOKO2=OojwLaA@mail.gmail.com> <CALHHdhxy2sj2TdmyKk-1UcRjK7WCooZ+Sz91_LjnudxscPH6xQ@mail.gmail.com>
From: Kazuho Oku <kazuhooku@gmail.com>
Date: Mon, 27 Feb 2017 12:18:23 +0900
Message-ID: <CANatvzwiD61O9F8pEhdPy6DX62GhYS=YXUsJpvcSCSuxT3ebtw@mail.gmail.com>
To: Vasiliy Faronov <vfaronov@gmail.com>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=209.85.218.54; envelope-from=kazuhooku@gmail.com; helo=mail-oi0-f54.google.com
X-W3C-Hub-Spam-Status: No, score=-4.9
X-W3C-Hub-Spam-Report: AWL=-1.407, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1ciBpq-0007EX-N8 015304bd9fa0e222cc98b76b34b03d08
X-Original-To: ietf-http-wg@w3.org
Subject: Re: 103 (Early Hints) vs. response headers
Archived-At: <http://www.w3.org/mid/CANatvzwiD61O9F8pEhdPy6DX62GhYS=YXUsJpvcSCSuxT3ebtw@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/33617
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>

2017-02-24 11:16 GMT+09:00 Vasiliy Faronov <vfaronov@gmail.com>:
> Kazuho, thank you for clarifying.
>
>
> On Fri, Feb 24, 2017 at 4:34 AM, Kazuho Oku <kazuhooku@gmail.com> wrote:
>> I think that the client should discard it, because (contrary to the
>> expectation) the server did not include the Warning header in the
>> final response, and because the draft states that:
>>
>>    However, the evaluation MUST NOT affect
>>    how the final response is processed; the client must behave as if it
>>    had not seen the informational response.
>
> This makes 103 a special case in HTTP processing, sort of like HEAD or
> 204. A client that understands 1xx, but doesn't know 103 specifically,
> would handle such a header differently.
>
> If, instead, you defined headers on a 103 response as applying *both*
> to the 103 response *and* to the final response (speculatively), then
> there would be no such special-casing, while rel=preload would work
> the same.

Thank you for the suggestion. I feel sympathetic to your concern, and
the approach sounds like an interesting idea to look into.

If we want to omit special casing spec-wise, IMO the only thing that
we can do is to state is that a client MAY process the headers of a
103 response as part of the informational response (as well as
speculatively applying them to the final response). This is because a
client that does not recognize a 103 response is required to treat it
as if it was a 100 response [1], and because a client is allowed to
just ignore a 100 response [2].

Is that what you are suggesting?

I would like to argue that it might be too vague, and that it would be
better to have a clear statement that headers of 103 must be only
considered a speculation of the final response. Such definition is
unlikely to cause an interoperabiilty issue under the premise that
most if not all clients existing today just throw away the headers of
a 100 response.

[1] https://tools.ietf.org/html/rfc7231#section-6
[2] https://tools.ietf.org/html/rfc7231#section-6.2.1

> (Content-* might still need special-casing for 103, but they
> are already defined in terms of "associated representation" for the
> special case of HEAD.)
>
> Of course, this won't be a problem in practice if 103 is only used for
> rel=preload. This isn't causing me any trouble, just something I
> wanted to point out for your consideration.
>
>
> --
> Vasiliy



-- 
Kazuho Oku