Re: Last Call: <draft-ietf-httpbis-early-hints-03.txt> (An HTTP Status Code for Indicating Hints) to Experimental RFC

Julian Reschke <julian.reschke@gmx.de> Sun, 25 June 2017 11:37 UTC

Return-Path: <julian.reschke@gmx.de>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EF53F129A9A; Sun, 25 Jun 2017 04:37:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.919
X-Spam-Level:
X-Spam-Status: No, score=-1.919 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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 uypFUF8ezOip; Sun, 25 Jun 2017 04:37:29 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 17BCF1242F7; Sun, 25 Jun 2017 04:37:28 -0700 (PDT)
Received: from [192.168.178.20] ([93.217.96.65]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0MMBun-1dPwv50PiH-007zce; Sun, 25 Jun 2017 13:37:02 +0200
Subject: Re: Last Call: <draft-ietf-httpbis-early-hints-03.txt> (An HTTP Status Code for Indicating Hints) to Experimental RFC
To: Willy Tarreau <w@1wt.eu>
Cc: ietf@ietf.org, httpbis-chairs@ietf.org, Mark Nottingham <mnot@mnot.net>, draft-ietf-httpbis-early-hints@ietf.org, ietf-http-wg@w3.org, alexey.melnikov@isode.com
References: <149806437201.15854.12299810594896460001.idtracker@ietfa.amsl.com> <dcdff226-e12d-bb83-982f-8253f46ae935@gmx.de> <20170625104629.GA29021@1wt.eu> <602955e2-cfd0-e4c8-7afa-e8f3ea78ab3a@gmx.de> <20170625112842.GA29052@1wt.eu>
From: Julian Reschke <julian.reschke@gmx.de>
Message-ID: <8e93bbfc-b609-0392-5c78-114103accaed@gmx.de>
Date: Sun, 25 Jun 2017 13:36:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0
MIME-Version: 1.0
In-Reply-To: <20170625112842.GA29052@1wt.eu>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K0:QviBdaRJbeEq6b035JWByHkUwk0QtVO1b2HovGkA9csI5VYRV6J dEAKtePW6FATm5PXKpx5cbBqzXyxtGKMo3MeoSifRCwOoooH0ji7XpGVGfbnBgv61t0ezMP DlVeT8Ez5dKX5XjQ4xYylC6zzfgtsOFqTJu8lhOLJ8KW+nvS63nW0ZE/yNPUlPeLYzL96n2 AUv7Mtbpmq20gS4TIec2A==
X-UI-Out-Filterresults: notjunk:1;V01:K0:3ZupbSrS5B4=:T9h1XRKvcJsGBgoX20EyAT fbUOqNzVEOBN/PKxYa3IdhGSFijt4hyfF/Jd23gg8y18jK3NxUOtoyH2DHCGYlgGLLKgkTBgm 7tHzYkzhyNFUzBe7c+DIusLQ9xvm+VK6KO4aiT/dnpm0EGBNixyxSLnqF4WFPkQKytVMyEOY5 jXzuaamltNs8fHJSsNcRZ/HYr1AKagYT9NswgKHM/S3/X2FLTmaYNPWldIuzn7MhPTHAMQNj/ DX7DVjk0EOCzdg3/yG3+deBfzJEnWMQrCEsm+F+BDbV4X6eWSP7qF/jICQSQfoTlhAFtk+i19 b1QbaCpumWQ0x7BnOabeJDRs3zWcQDgVB77dg6zmQWicSN8iC5tOfkDQZTvFh2QS9g51d1DoO LgHw7Y8C2mjDL8sdv7o08W2Jx0FksUADbENFXbanvTyelJS6vhYqfCmHp75ozxHIxrwUwG4Wu CKwsxwM4eye05dJmnRZI/AFSBBw3GsihPJTc4YNz9M00h45GZDkIh+mQT+mvYHMlCCNVoUrBX VWm7A6dEiJTIJ5oE6oDlLzbsOFdFxfeQghBRUI+ndBHZ59AyAy0s863yFzZ2BazZERe4dBi/G uozsvsovnVXgXik7wX50SCP9BykWi5R1nprQyqsGjomSEKDQANRIT8SK9J6f2xeCrKA65QPWP CXWVOMtVxiMDXMp+dvi/EPqpptbfZdP0ffJDpnof41WBETtongGYRpBbmomJBPkK8ydAcxZLn laiU+i99tq21nKXzHb4kWyPYXDNRL126pcnywd2o1hae6fTzojavfJXYMOCQIjH/TSqmTzVdZ YqwHBwW
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/JPzwo4envY36cpL7fEhoGDvVySo>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 25 Jun 2017 11:37:33 -0000

On 2017-06-25 13:28, Willy Tarreau wrote:
> On Sun, Jun 25, 2017 at 12:50:30PM +0200, Julian Reschke wrote:
>> On 2017-06-25 12:46, Willy Tarreau wrote:
>>> Hi Julian,
>>>
>>> On Sun, Jun 25, 2017 at 12:11:29PM +0200, Julian Reschke wrote:
>>>>      An intermediary MAY drop the informational response. (...)
>>>>
>>>> That seems to contradict a MUST-level requirement in RFC 7231
>>>> (https://www.greenbytes.de/tech/webdav/rfc7231.html#rfc.section.6.2.p.3)
>>>
>>> Not completely. An intermediary not aware of 103 may map it to 100. If
>>
>> It may do so, but it's not allowed to (IMHO).
> 
> I agree with you but there's probably a difference with what is really
> deployed in field. However I'm now seeing a wording issue here, because
> saying "An intermediary MAY drop the informational response" suggests
> to intermediary implementations that this is permitted. I think that
> using just a warning for server implementations would be more appropriate,
> like "A server should be prepared to see its 103 responses silently dropped
> or altered by some non-compliant intermediaries".

Yup.

>>> the intermediary inserted an "Expect: 100 continue" header field, we
>>> can reasonably imagine that such an intermediary might also drop the
>>> returning 103. This wording in 7231 may even encourage some implementations
>>> to do so : "A proxy MUST forward 1xx responses unless the proxy itself
>>> requested the generation of the 1xx response". Speaking about 1xx here
>>> may be read as "I asked for 100, I'm receiving 1xx so that matches".
>>
>> But that sounds like a bug in the proxy to me. A 103 is not a 100.
> 
> Sure, but it's also suggested that when processing a code XYY that you
> don't know, you can consider that it will act like X00. I'm not

I wouldn't consider that a license to *change* the code though.

> justifying that some might be doing this, just that we need the spec to
> be robust against such bogus behavious *if they exist*. Especially
> interim responses, which have always been tricky to get right
> everywhere :-/
> ...

True, but we shouldn't confuse normative language (which simply can't be 
in conflict with the base spec without additional work) from implementor 
guidance.

> ... >> Understood. But is this a requirement or just a suggestion? Does a 
client
>> need to forget the information from the 103 when it's not repeated in the
>> final response?
> 
> Hmmm the text says :
>    "This memo defines a status code for sending an informational response
>     ([RFC7231], Section 6.2) that contains header fields that are likely
>     to be included in the final response"
> 
> Thus I think that the final header fields are the real ones, and that
> those sent early are more about hints to help the client get mostly
> prepared. Can there be a conflict between two overlapping header field
> values for the same link ? If so, some text needs to be appended to
> mandate that the final response the the only authoritative one and that
> the interim ones are only here to help fill silence periods on the link.

I'm interested in the case where the Link appears in the 103 but not in 
the final response...

Best regards, Julian