Re: HTTP router point-of-view concerns
James M Snell <jasnell@gmail.com> Fri, 12 July 2013 16:54 UTC
Return-Path: <ietf-http-wg-request@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 9989E21F9CFF for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 12 Jul 2013 09:54:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.541
X-Spam-Level:
X-Spam-Status: No, score=-10.541 tagged_above=-999 required=5 tests=[AWL=0.058, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PhTwAKKRwJVA for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 12 Jul 2013 09:54:50 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 36E1121F9CF6 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 12 Jul 2013 09:54:50 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UxgbZ-0005qq-Dw for ietf-http-wg-dist@listhub.w3.org; Fri, 12 Jul 2013 16:54:01 +0000
Resent-Date: Fri, 12 Jul 2013 16:54:01 +0000
Resent-Message-Id: <E1UxgbZ-0005qq-Dw@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1UxgbR-0005q6-6F for ietf-http-wg@listhub.w3.org; Fri, 12 Jul 2013 16:53:53 +0000
Received: from mail-oa0-f53.google.com ([209.85.219.53]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1UxgbQ-0000fV-Gu for ietf-http-wg@w3.org; Fri, 12 Jul 2013 16:53:53 +0000
Received: by mail-oa0-f53.google.com with SMTP id k14so13363958oag.12 for <ietf-http-wg@w3.org>; Fri, 12 Jul 2013 09:53:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=jTtmtGSQLNktPMnh1lMLjhdPLMSOR9R1Z/3U45dIl+I=; b=MvXNknD8+LXCrfwaBvAYAqoSA1W3bXQMKtayQ+mOGExYMd0tVxmcai5B52sM+aOD1+ lc8zP8iAAcpaeVPDL9eJWBbb7vzv8/ewRsL7K+fq8g+0vkBCTsdnx14kwuxlZep1zHCe PC81sTyeAXKHHPPG+e2pjUZ0oY/ZQ4Y/eKzh0ljq6vYlSoFzblETTh8KkgX+W1W+JtZP VPxBIHcjtHUw8o9gPaWcrHOvoY4ONmvxKxcuTpRZ/SfSUW72vZLGWs9GPQDKyjRfF/53 gfQ/d65Zo3hfIDsJGAkHP8/gqF/7g9OL3dMvHxmlqhZAA9KsGo3my8yTqB/3nU6qMrL4 8v2A==
X-Received: by 10.60.125.100 with SMTP id mp4mr36386206oeb.60.1373648006450; Fri, 12 Jul 2013 09:53:26 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.60.55.8 with HTTP; Fri, 12 Jul 2013 09:53:06 -0700 (PDT)
In-Reply-To: <CAP+FsNegXOn6qEo05+o-L32HEzTSu1xFs_diLF8ii_ycW9HnWA@mail.gmail.com>
References: <CA+qvzFPUpcm6kUtJx+rTw8Dpp4Gtx4Bmr3XPDhjNsjchUfN9_w@mail.gmail.com> <51DE1E32.9010801@treenet.co.nz> <CAP+FsNdcYhA=V5Z+zbt70b5e7WmcmXgjG5M9L3vfXeXfTwmRnw@mail.gmail.com> <51DE327C.7010901@treenet.co.nz> <CABkgnnXeqD6wh0dcJ1Dz=4PLAJNkDeGcCuzMr9ATd_7xS7nbGQ@mail.gmail.com> <CABP7RbcUkLf3CTAB4jwicnsiKWLGVY6=hX0k=0256SR_gcVt9A@mail.gmail.com> <CAP+FsNcOZnLa9GCr6XcZNFdq-mSXG6Q-_1Lb5u=a2YyXNCsVfQ@mail.gmail.com> <51DFBDAB.9010505@treenet.co.nz> <CABaLYCs4KUXO2YwGyG07kbGJtrrfc7kVMJH3N_f=D-WQG86FcQ@mail.gmail.com> <CA+pLO_j__UQ+Jkbtd=YhNTPDxWwjDuJ367XZ_DtT9yv9oeXD8w@mail.gmail.com> <CAP+FsNegXOn6qEo05+o-L32HEzTSu1xFs_diLF8ii_ycW9HnWA@mail.gmail.com>
From: James M Snell <jasnell@gmail.com>
Date: Fri, 12 Jul 2013 09:53:06 -0700
Message-ID: <CABP7Rbf1i=uhieLgsT=-F7XOW2AG75cfv8G8rfhUMNc384kOjA@mail.gmail.com>
To: Roberto Peon <grmocg@gmail.com>
Cc: Jeff Pinner <jpinner@twitter.com>, Mike Belshe <mike@belshe.com>, Amos Jeffries <squid3@treenet.co.nz>, httpbis mailing list <ietf-http-wg@w3.org>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=209.85.219.53; envelope-from=jasnell@gmail.com; helo=mail-oa0-f53.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-2.705, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1UxgbQ-0000fV-Gu af69b06e27da16f027f32d9e0eafb39f
X-Original-To: ietf-http-wg@w3.org
Subject: Re: HTTP router point-of-view concerns
Archived-At: <http://www.w3.org/mid/CABP7Rbf1i=uhieLgsT=-F7XOW2AG75cfv8G8rfhUMNc384kOjA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/18731
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>
Most of the feedback that I've seen around header compression can be summarized as: Sending less data on the wire... Good. Less latency... Good. More efficiency... Good. Less visibility in the protocol... Bad. Complicated implementation... Bad. Introducing statefulness in the protocol... Bad. Where I come down on this is simple: Yes, we need a way of encoding headers more efficiently in HTTP/2 relative to HTTP/1... however, as the mantra states, Perfect is the Enemy of Good. The header compression algorithm as currently stands is *technically* a very good approach, but that doesn't mean it's the right approach for right now. The problems we see in the verbosity and repetitiveness of HTTP request and response headers has more to do with how those headers are defined and used that it does with how those headers are encoded on the wire. There are reasonable application-level approaches we could be exploring to reduce redundancy and increase efficiency that would not require complex new mechanisms and requirements to be added to the base framing protocol. For instance, I have demonstrated many times that by simply changing the way we define header values, we can make significant reductions in header transmission size. >From everything that I can see so far, Header Compression is completely orthogonal to the basic operation of the new HTTP/2 framing layer. It is not critical for the new framing layer to be successful. Yes, it has it's benefits. Yes, it makes things more efficient. Yes, it has security advantages relative to other compression options. But no, it is not the Simplest Thing That Could Possibly Work and no, it's not technically required in order to make HTTP/2 successful... and so far, the majority public reaction seems to be "Whoa! WTF is with all the new complexity! Dial it back a bit please!" It's good that people are starting to get implementation experience with what's been written up so far. It's good to start getting interop testing going. For me, going through my own implementation of current header compression mechanism has simply reinforced what I had already suspected and feared: it's a lot of very well designed and functional new complexity that has some benefit but is not strictly required to get the job done.. and, what's worse, is the fact that it makes us jump through some additional design hoops (e.g. the routing question) that would otherwise be fairly simple to address. That all said, I'm definitely willing to be convinced otherwise. Let's see what happens in Germany next month, but let's definitely keep an open mind towards alternative, less complicated (albeit, possibly less efficient) approaches that do not incur such a large New Complexity Tax. - James On Fri, Jul 12, 2013 at 9:36 AM, Roberto Peon <grmocg@gmail.com> wrote: > This was the first thing I experimented. :) > It either requires two different state size settings, or it makes state size > management .... interesting.... > Having a single table made much more sense and was less complicated, > especially for proxies. > > -=R > > > On Fri, Jul 12, 2013 at 8:22 AM, Jeff Pinner <jpinner@twitter.com> wrote: >> >> >> On Fri, Jul 12, 2013 at 2:11 AM, Mike Belshe <mike@belshe.com> wrote: >>> >>> I'm also in favor of removing the compressor completely. >> >> >> So the compressor buys us the ability to share headers between streams and >> possibly to reduce the size of the headers via some sort of encoding >> (whether it's typed encodings, or huffman compressed strings, or varint >> lengths, etc). So a dumb proposal: >> >> A HEADERS frame consists of encoded name values pairs, let's say varint >> length followed by UTF-8 bytes of the string (we can argue over compressed >> strings, types, etc. later, but basically no indexing into shared state). >> >> Sending a HEADERS frame on Stream-ID 0 creates a set of headers that gets >> saved and added to the HEADERS frame that opens any streams after it is >> sent. Sending a new HEADERS frame on Stream-ID 0 overwrites the previous >> frame. >> >> This allows us to share Cookies, User-Agent, Host, etc. between requests, >> but wouldn't allow for any response header sharing. It would allow us to >> share headers for pushed responses since those are streams opened by the >> server. >> >> >
- Re: HTTP router point-of-view concerns Amos Jeffries
- Re: HTTP router point-of-view concerns Poul-Henning Kamp
- Re: HTTP router point-of-view concerns Amos Jeffries
- Re: HTTP router point-of-view concerns Roberto Peon
- HTTP router point-of-view concerns Christian Parpart
- Re: HTTP router point-of-view concerns Amos Jeffries
- Re: HTTP router point-of-view concerns Roberto Peon
- Re: HTTP router point-of-view concerns Amos Jeffries
- Re: HTTP router point-of-view concerns Christian Parpart
- Re: HTTP router point-of-view concerns Amos Jeffries
- Re: HTTP router point-of-view concerns Michael Sweet
- Re: HTTP router point-of-view concerns Martin Thomson
- Re: HTTP router point-of-view concerns James M Snell
- Re: HTTP router point-of-view concerns Sam Pullara
- Re: HTTP router point-of-view concerns Roberto Peon
- Re: HTTP router point-of-view concerns Roberto Peon
- Re: HTTP router point-of-view concerns Amos Jeffries
- Re: HTTP router point-of-view concerns Sam Pullara
- Re: HTTP router point-of-view concerns Patrick McManus
- Re: HTTP router point-of-view concerns Roberto Peon
- Re: HTTP router point-of-view concerns James M Snell
- Re: HTTP router point-of-view concerns Roberto Peon
- Re: HTTP router point-of-view concerns James M Snell
- Re: HTTP router point-of-view concerns Roberto Peon
- Re: HTTP router point-of-view concerns Sam Pullara
- Re: HTTP router point-of-view concerns Roberto Peon
- Re: HTTP router point-of-view concerns Martin Thomson
- Re: HTTP router point-of-view concerns Poul-Henning Kamp
- Re: HTTP router point-of-view concerns Mark Nottingham
- Re: HTTP router point-of-view concerns Mike Belshe
- Re: HTTP router point-of-view concerns Gábor Molnár
- Re: HTTP router point-of-view concerns Gábor Molnár
- Re: HTTP router point-of-view concerns Poul-Henning Kamp
- Re: HTTP router point-of-view concerns Michael Sweet
- Re: HTTP router point-of-view concerns Christian Parpart
- Re: HTTP router point-of-view concerns Willy Tarreau
- Re: HTTP router point-of-view concerns Patrick McManus
- Re: HTTP router point-of-view concerns Jeff Pinner
- Re: HTTP router point-of-view concerns Martin Thomson
- Re: HTTP router point-of-view concerns Roberto Peon
- Re: HTTP router point-of-view concerns Ludin, Stephen
- Re: HTTP router point-of-view concerns Roberto Peon
- Re: HTTP router point-of-view concerns James M Snell
- Re: HTTP router point-of-view concerns Yoav Nir
- Re: HTTP router point-of-view concerns Willy Tarreau
- Re: HTTP router point-of-view concerns Poul-Henning Kamp
- Re: HTTP router point-of-view concerns Poul-Henning Kamp
- Re: HTTP router point-of-view concerns Willy Tarreau
- Re: HTTP router point-of-view concerns Poul-Henning Kamp
- Re: HTTP router point-of-view concerns Sam Pullara
- Re: HTTP router point-of-view concerns Willy Tarreau
- Re: HTTP router point-of-view concerns Mark Delany
- Re: HTTP router point-of-view concerns Poul-Henning Kamp
- Re: HTTP router point-of-view concerns Poul-Henning Kamp
- Re: HTTP router point-of-view concerns Willy Tarreau
- Re: HTTP router point-of-view concerns Willy Tarreau
- Re: HTTP router point-of-view concerns Poul-Henning Kamp
- Re: HTTP router point-of-view concerns Willy Tarreau
- Re: HTTP router point-of-view concerns Yoav Nir
- Re: HTTP router point-of-view concerns Poul-Henning Kamp
- Re: HTTP router point-of-view concerns Yoav Nir
- Re: HTTP router point-of-view concerns Willy Tarreau
- Re: HTTP router point-of-view concerns Poul-Henning Kamp
- Re: HTTP router point-of-view concerns Stephen Farrell
- Re: HTTP router point-of-view concerns Willy Tarreau
- Re: HTTP router point-of-view concerns Sam Pullara
- Re: HTTP router point-of-view concerns Nicolas Mailhot
- Re: HTTP router point-of-view concerns Nicolas Mailhot
- Re: HTTP router point-of-view concerns Nicolas Mailhot
- Re: HTTP router point-of-view concerns Martin Nilsson
- Re: HTTP router point-of-view concerns Nico Williams
- Re: HTTP router point-of-view concerns Nico Williams
- Re: HTTP router point-of-view concerns Poul-Henning Kamp
- Re: HTTP router point-of-view concerns Nico Williams
- Re: HTTP router point-of-view concerns Poul-Henning Kamp
- Re: HTTP router point-of-view concerns Nico Williams