Re: Proposal - Reduce HTTP2 frame length from 16 to 12 bits

Patrick McManus <> Wed, 29 May 2013 00:01 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 924A311E80DE for <>; Tue, 28 May 2013 17:01:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.976
X-Spam-Status: No, score=-9.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id c1s7PisfjbZS for <>; Tue, 28 May 2013 17:01:06 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 9D39B11E80E2 for <>; Tue, 28 May 2013 17:01:06 -0700 (PDT)
Received: from lists by with local (Exim 4.72) (envelope-from <>) id 1UhTo6-0002yt-3p for; Tue, 28 May 2013 23:59:58 +0000
Resent-Date: Tue, 28 May 2013 23:59:58 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtp (Exim 4.72) (envelope-from <>) id 1UhTnt-0002wm-GV for; Tue, 28 May 2013 23:59:45 +0000
Received: from ([]) by with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <>) id 1UhTns-0006JJ-Jt for; Tue, 28 May 2013 23:59:45 +0000
Received: by with SMTP id v19so2422512obq.21 for <>; Tue, 28 May 2013 16:59:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=Avdgkb89RfZNcVNq0jytcz1UmBHQP0rq0AbvgpqRYdc=; b=H4ufUvTAI8T3FpqQ5dekzxdTXMW/bCFt555Ogo2JGk+rOf3MXQJD8V2457hgSRPAgg uiQfD9iz10mTyxCdqdRsw1UEBGQjoZPvlXsKHyKzLpxoyj+VOMJyAY/8+CpBBb0hfPp2 EAF+kyiKCHbfB58kUCxmbls53KzdMdEoC4w6wp3rBaPk+Ya5qofQoTQjmUEJGQdeOCoM lhepiT/vV+ns6F2tytDJOiT0+H1qISKVBXD+oGtANRXa4fbVKiT9pqv0baBbm1nPYcjH H1bI6fZOiDznzlXi80AP6GTvarjrSifLRaC3Avo/hCJC41/oAqs0kXDPp1ZhuqoNU2qA PI9w==
MIME-Version: 1.0
X-Received: by with SMTP id e5mr77516oel.112.1369785558348; Tue, 28 May 2013 16:59:18 -0700 (PDT)
Received: by with HTTP; Tue, 28 May 2013 16:59:18 -0700 (PDT)
In-Reply-To: <em4e491b19-cd47-4dac-be6a-3d6c6a726721@bodybag>
References: <> <em4e491b19-cd47-4dac-be6a-3d6c6a726721@bodybag>
Date: Tue, 28 May 2013 19:59:18 -0400
X-Google-Sender-Auth: B42SDnkA4kxe7y5SZU4t5h9dzjY
Message-ID: <>
From: Patrick McManus <>
To: "Adrien W. de Croy" <>
Cc: Martin Thomson <>, HTTP Working Group <>
Content-Type: multipart/alternative; boundary=089e013cc4289fb97f04ddd00d28
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-3.4
X-W3C-Hub-Spam-Report: AWL=-2.706, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: 1UhTns-0006JJ-Jt f7d6fa767732d91e764c0d84496e1f84
Subject: Re: Proposal - Reduce HTTP2 frame length from 16 to 12 bits
Archived-At: <>
X-Mailing-List: <> archive/latest/18133
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On Tue, May 28, 2013 at 7:19 PM, Adrien W. de Croy <> wrote:

> take a look at any protocol where after a while people decided that the
> size limits were too small.  I can think of several off the top of my head:
> I don't think those are good comparisons here because those protocols have
maximum atomic message sizes of one sort or another, while here we are
discussing the size of the atom in a format that already takes multiple
atoms - not the size of the message. I think you make a better argument for
getting rid of FRAME_TOO_LARGE. There aren't any streams that can be
expressed with 24 bit frame sizes that can't be with 16, 14, or 12. Its
just a matter of various forms of overhead and responsiveness.

I brought this to the working group because I believe in running code and
the experience I have gotten here so far tells me most implementations so
far haven't gotten this right. (I've seen at least 3 different one so far
that will write the whole document in 1 frame if they can fit it in spdy's
24 bits - even though that's just as bad as http/1 pipelines) and a good
spec can generate good implementations. Implementation advice is fine, but
its better if it just does the right thing.. and in this case imo a
responsive protocol requires smallish frames.

> Trying to get widespread deployment of an extension to cope with that is
> an awful mess, and something we shouldn't saddle ourselves with up front.
> There are still many DNS implementations that don't understand the size
> extensions.  Look at the contortions DHCP took to try to reclaim space.
> As for 64kB.  Last time I counted TCP stream bytes between PSH flags on an
> HTTP stream from IIS, it was 64kB.  I really don't think we should reduce
> it.  Servers suffering from HOL issues can always reduce frame size
> themselves for outbound.  As for inbound, if there is a settings
> pre-negotiation (which is proposed), why not advertise max frame you will
> accept?