Re: HTTP/2 flow control <draft-ietf-httpbis-http2-17>

Roland Zink <> Fri, 20 March 2015 19:44 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 354C21B302A for <>; Fri, 20 Mar 2015 12:44:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -7.012
X-Spam-Status: No, score=-7.012 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id x16RThiQHspz for <>; Fri, 20 Mar 2015 12:44:03 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id C99E41A6FFE for <>; Fri, 20 Mar 2015 12:44:03 -0700 (PDT)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1YZ2l4-0005MF-Ns for; Fri, 20 Mar 2015 19:39:02 +0000
Resent-Date: Fri, 20 Mar 2015 19:39:02 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtp (Exim 4.80) (envelope-from <>) id 1YZ2ky-0005LU-C5 for; Fri, 20 Mar 2015 19:38:56 +0000
Received: from ([]) by with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <>) id 1YZ2kx-000119-16 for; Fri, 20 Mar 2015 19:38:56 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1426880312; l=1168; s=domk;; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References: Subject:To:MIME-Version:From:Date; bh=+RqvJk2/PVLZloUCyRtKY6O8cPgIB5plhD/4ZcS0rOY=; b=LDyqnl5Tj0Hp158Uh5rVMzqrVn2FZtiWVuX5ib9fpXN6/I/5khpo90lCdrB2D/SEaVi BnyuuYninTK/HwYyup5V2hqvEsGDVYMyIV+6auOeFndq3bw+V3dkSCaLJ8EfbaDhyuDto 9XDBfK03OHo/BWwVRQo8THhLULDl2Lo3Qcg=
Received: from [IPv6:2001:4dd0:ff67:0:fc22:cf1d:966c:8291] ([2001:4dd0:ff67:0:fc22:cf1d:966c:8291]) by (RZmta 37.4 AUTH) with ESMTPSA id 202771r2KJcWVIi (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) for <>; Fri, 20 Mar 2015 20:38:32 +0100 (CET)
Message-ID: <>
Date: Fri, 20 Mar 2015 20:38:31 +0100
From: Roland Zink <>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0
MIME-Version: 1.0
References: <> <> <> <> <> <> <> <>
In-Reply-To: <>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Received-SPF: none client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-4.5
X-W3C-Hub-Spam-Report: AWL=-2.446, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1YZ2kx-000119-16 b0ce89f4ecac96335ad55449d2ed51fe
Subject: Re: HTTP/2 flow control <draft-ietf-httpbis-http2-17>
Archived-At: <>
X-Mailing-List: <> archive/latest/29000
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On 20.03.2015 17:50, Bob Briscoe wrote:
> I believe there is no need for an intermediate node to do flow control 
> for individual streams. It does need to control the whole envelope 
> within which all the streams are flowing through the proxy's app-layer 
> buffer memory (e.g. due to a thick incoming pipe feeding a thin 
> outgoing pipe). The best mechanism for controlling the app-layer 
> buffer consumption of the aggregate connection is for the intermediate 
> node to control the TCP receive window of the incoming stream.
I think a HTTP proxy can be much more powerful than just forwarding 
streams from the server. It may return some stream from cache, answer 
some requests directly and forward others, it may even push some 
resources for example from cache. As such I don't see a difference to 
what an HTTP server may want to do.

> That doesn't preclude the intermediate node passing on any per-stream 
> flow control messages emanating from the ultimate receiver so that the 
> ultimate sender controls each stream's rate, which will alter the 
> balance between streams within the overall envelope at the proxy.
> Bob