Re: HTTP router point-of-view concerns

Jeff Pinner <jpinner@twitter.com> Fri, 12 July 2013 15:24 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 57A3E21E80B0 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 12 Jul 2013 08:24:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.608
X-Spam-Level:
X-Spam-Status: No, score=-9.608 tagged_above=-999 required=5 tests=[AWL=0.368, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, 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 DWWil7S11mXh for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 12 Jul 2013 08:24:43 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 4B28721E80A7 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 12 Jul 2013 08:24:26 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UxfBN-0006zA-3n for ietf-http-wg-dist@listhub.w3.org; Fri, 12 Jul 2013 15:22:53 +0000
Resent-Date: Fri, 12 Jul 2013 15:22:53 +0000
Resent-Message-Id: <E1UxfBN-0006zA-3n@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <jpinner@twitter.com>) id 1UxfBE-0006xS-TX for ietf-http-wg@listhub.w3.org; Fri, 12 Jul 2013 15:22:44 +0000
Received: from mail-oa0-f44.google.com ([209.85.219.44]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <jpinner@twitter.com>) id 1UxfBD-0005mP-Q9 for ietf-http-wg@w3.org; Fri, 12 Jul 2013 15:22:44 +0000
Received: by mail-oa0-f44.google.com with SMTP id l10so12854195oag.17 for <ietf-http-wg@w3.org>; Fri, 12 Jul 2013 08:22:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=twitter.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=tgdw4toe1/yz71iBKHUdxq9DR+Std4sK4m9U4X7ih0Q=; b=STfM0dm4KBq11kuIsNg1Coullu/pMCLJO/lyBnFCqWhdKr8mI1k/jH1BAcNXl4HW2W 6J9qMoPHJMvjaMPnf2gF2BPtaGLUC+VR+P1sk16TjDoUjRs26D6b+fk8O9vCbtYFTZPy OOt7Auw4JMwK0dF0xOeb7FA15Fy7yHDlzYrYw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:x-gm-message-state; bh=tgdw4toe1/yz71iBKHUdxq9DR+Std4sK4m9U4X7ih0Q=; b=fxOGxmprKbrdezIF7gcfwI8/6vGjZI393VbKDzmV+JR51Pm5TE/SCF9ndG+zMiNSWw yqIrRfCyA3diENDrjCOYKyZbiSIGubFbjlhl0CQyw1OSyM8OHkXIUxlbHlzVefTSDSq5 G4Wo09rRfg/QYW2T5I4PAH2HF9WpMG6gDs+XoFwg7hKt4HPluMOFoHPM2feAp4y9hPct ua2YNoh6hiHcei011wTI7qxQAUsGBA8EFN2XpV2PZWRjesDnjMnccanndBnJWKpyrgRK vX3HLSTzmhI2sJHyr6rO7W5goyjdUxtNtAOGFSB/wwrd4LkwiYIqUEdycSz2vvN0GFB0 UIMA==
MIME-Version: 1.0
X-Received: by 10.182.61.19 with SMTP id l19mr36481628obr.55.1373642537578; Fri, 12 Jul 2013 08:22:17 -0700 (PDT)
Received: by 10.182.7.37 with HTTP; Fri, 12 Jul 2013 08:22:17 -0700 (PDT)
In-Reply-To: <CABaLYCs4KUXO2YwGyG07kbGJtrrfc7kVMJH3N_f=D-WQG86FcQ@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>
Date: Fri, 12 Jul 2013 08:22:17 -0700
Message-ID: <CA+pLO_j__UQ+Jkbtd=YhNTPDxWwjDuJ367XZ_DtT9yv9oeXD8w@mail.gmail.com>
From: Jeff Pinner <jpinner@twitter.com>
To: Mike Belshe <mike@belshe.com>
Cc: Amos Jeffries <squid3@treenet.co.nz>, httpbis mailing list <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="e89a8fb1ef728044b204e152135c"
X-Gm-Message-State: ALoCoQmDpcPOt5cUDDgjTnxSIs5RmIn/B8oqmdhCTnYHfcymMRt4GS2TXJUsyKHvG96SwscwZ7PV
Received-SPF: pass client-ip=209.85.219.44; envelope-from=jpinner@twitter.com; helo=mail-oa0-f44.google.com
X-W3C-Hub-Spam-Status: No, score=-3.9
X-W3C-Hub-Spam-Report: AWL=-3.100, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1UxfBD-0005mP-Q9 07ff290975004fadc0ed6afc4d94e26f
X-Original-To: ietf-http-wg@w3.org
Subject: Re: HTTP router point-of-view concerns
Archived-At: <http://www.w3.org/mid/CA+pLO_j__UQ+Jkbtd=YhNTPDxWwjDuJ367XZ_DtT9yv9oeXD8w@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/18726
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>

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.