Re: New Version Notification for draft-kazuho-early-hints-status-code-00.txt

Stefan Eissing <stefan.eissing@greenbytes.de> Tue, 01 November 2016 20:04 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 106981299BB for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 1 Nov 2016 13:04:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.288
X-Spam-Level:
X-Spam-Status: No, score=-8.288 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.497, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_DKIM_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail (1024-bit key) reason="fail (message has been altered)" header.d=greenbytes.de header.b=GZToNoxG; dkim=fail (1024-bit key) reason="fail (message has been altered)" header.d=greenbytes.de header.b=shkA5/qx
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 jDiC9emEh1-t for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 1 Nov 2016 13:04:10 -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 461031299B0 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 1 Nov 2016 13:04:10 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1c1fDh-0007O3-RX for ietf-http-wg-dist@listhub.w3.org; Tue, 01 Nov 2016 19:59:41 +0000
Resent-Date: Tue, 01 Nov 2016 19:59:41 +0000
Resent-Message-Id: <E1c1fDh-0007O3-RX@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 <stefan.eissing@greenbytes.de>) id 1c1fDb-0007MX-Vt for ietf-http-wg@listhub.w3.org; Tue, 01 Nov 2016 19:59:36 +0000
Received: from mail.greenbytes.de ([5.10.171.186]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <stefan.eissing@greenbytes.de>) id 1c1fDV-0002Pt-5k for ietf-http-wg@w3.org; Tue, 01 Nov 2016 19:59:30 +0000
Received: by mail.greenbytes.de (Postfix, from userid 117) id 5F90315A0B4B; Tue, 1 Nov 2016 20:59:01 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=greenbytes.de; s=mail; t=1478030341; bh=FnZJg720hvTGKd3L8ruvcuMm/AfCzSQRhytUg5xB2Vk=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=GZToNoxGnAiicOMm/5/t7IhDE/7VH7/YUEszhni9M9NcBKw5314VtDvE68hhqSTd9 PwkjiZ2B9c6cyELgk9ZxCMo32k6JpvAQH8gr4aB1qJrvR6+hCz/w8W/tXkDR2LR6dt VUV6WslnI8lOz/EJvF1116pGwdH+wTsarvpuB4yo=
Received: from [192.168.178.72] (unknown [93.211.99.101]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mail.greenbytes.de (Postfix) with ESMTPSA id 4491B15A04A3; Tue, 1 Nov 2016 20:59:00 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=greenbytes.de; s=mail; t=1478030340; bh=FnZJg720hvTGKd3L8ruvcuMm/AfCzSQRhytUg5xB2Vk=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=shkA5/qxws/NbzuferUekUMytEwAu35fw07m027Fbmc8dgqmJ8rSu3R/PNBMLRfki 5U9WapjvIAtlk6NYFUd2FWFfaRyDcg3cLB740Nki6uslrjWSMx+lGS0KD54A05OyCG AL0CevvQRXuMGrmk5ro1FM3BH9Hik5g6/0OxP+zY=
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 10.1 \(3251\))
From: Stefan Eissing <stefan.eissing@greenbytes.de>
In-Reply-To: <BN6PR03MB27088EF1361F6ED49A3E378C87A10@BN6PR03MB2708.namprd03.prod.outlook.com>
Date: Tue, 01 Nov 2016 20:58:59 +0100
Cc: Cory Benfield <cory@lukasa.co.uk>, Mike Bishop <Michael.Bishop@microsoft.com>, Julian Reschke <julian.reschke@gmx.de>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <7917725C-8474-4C1A-9DD4-94E8E5EA9379@greenbytes.de>
References: <147792294052.32397.15544665152412530374.idtracker@ietfa.amsl.com> <CANatvzwm_T-HW0yT1MAWEUrfw5OAVkmAZe890575qg8HuU9Z_Q@mail.gmail.com> <86447165-100C-407D-8512-A32F93B11BBA@lukasa.co.uk> <CANatvzzRvbEjy4AqDHeRtQfcJX0Ls14qJf0qv0QWZBMMd-HRnQ@mail.gmail.com> <5f155947-e74c-0761-b5d4-64f8aabec846@gmx.de> <F2EE2E10-9129-47D4-8C6E-BEE079503F34@lukasa.co.uk> <BN6PR03MB27088EF1361F6ED49A3E378C87A10@BN6PR03MB2708.namprd03.prod.outlook.com>
To: Kazuho Oku <kazuhooku@gmail.com>
X-Mailer: Apple Mail (2.3251)
Received-SPF: pass client-ip=5.10.171.186; envelope-from=stefan.eissing@greenbytes.de; helo=mail.greenbytes.de
X-W3C-Hub-Spam-Status: No, score=-6.4
X-W3C-Hub-Spam-Report: AWL=0.135, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RP_MATCHES_RCVD=-2.505, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1c1fDV-0002Pt-5k 9a5cce71cc4c1756df857129e95484e9
X-Original-To: ietf-http-wg@w3.org
Subject: Re: New Version Notification for draft-kazuho-early-hints-status-code-00.txt
Archived-At: <http://www.w3.org/mid/7917725C-8474-4C1A-9DD4-94E8E5EA9379@greenbytes.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32793
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>

Thanks Kazuho for putting forward this draft.

Apache httpd will on next release properly process, and forward unannounced 1xx responses until a final response arrives (read: it currently does not, shame on me). I plan to add support for converting 103 headers into PUSHes, but am unable to promise that for the next release. It may or may not happen. Interestingly, I might use 103 responses just internally in httpd to let the HTTP/1 parts trigger a push before starting processing the complete response.

Any 'Accept-EH' headers for proxying h1 connections are configurable via the usual directives. So that part is easily handled.

I plan to forward any 103 responses to the client, regardless if 103 triggered PUSHes or not. I sensed agreement here that we ask h2 implementations to just cope with that. 

The question I have in regard to timing: is there any requirement on PUSH_PROMISES to arrive before a 103 or can that one come first. (There was some sensibility in regard to final responses, so prefetches could adapt in time).

-Stefan
 
> Am 01.11.2016 um 18:24 schrieb Mike Bishop <Michael.Bishop@microsoft.com>:
> 
> FWIW, our implementation should already ignore this response and process the final status code correctly.  If you have a public endpoint that returns a hint, we can all do a quick field test.
> 
> -----Original Message-----
> From: Cory Benfield [mailto:cory@lukasa.co.uk] 
> Sent: Tuesday, November 1, 2016 1:17 AM
> To: Julian Reschke <julian.reschke@gmx.de>
> Cc: Kazuho Oku <kazuhooku@gmail.com>; HTTP Working Group <ietf-http-wg@w3.org>
> Subject: Re: New Version Notification for draft-kazuho-early-hints-status-code-00.txt
> 
> 
>> On 1 Nov 2016, at 06:32, Julian Reschke <julian.reschke@gmx.de> wrote:
>> 
>> On 2016-11-01 02:32, Kazuho Oku wrote:
>>> Cory, Julian, thank you for looking into the I-D.
>>> 
>>> Thank you for looking into the existing implementations using Python.
>>> Your research makes it evident that some kind of negotiation is 
>>> mandatory if we are going to use 103 on the public Internet.
>> 
>> Having to negotiate it makes me sad.
> 
> I’m right there with you Julian. The 1XX response category gets to be another marker pointing us to the lesson the IETF has been learning for the past decade or so: extension points on a specification that no-one uses rust over time and become unusable.
> 
> In this case, I think the 1XX problem is more oversight than anything else. The problems in all these cases are tractable, and can be fairly easily fixed. It’s just that someone needs to spend that time.
> 
>>> For HTTP/2, my tendency leans toward using HTTP headers rather than 
>>> having its own way of negotiation, considering the fact that the 
>>> information transferred using Early Hints could be considered 
>>> end-to-end rather than hop-by-hop, and also that we can expect HPACK 
>>> to compress Accept-EH header efficiently.
>> 
>> For HTTP/2, I think we should push stronger to fix the code and not negotiate at all.
> 
> So for HTTP/2 the state of play is different. There are far fewer implementations, and those that exist are better and more actively developed. I’m happy to say for h2 that we don’t require negotiation of the extension.
> 
> Cory