Re: Ascii-based SPDY "compression" idea

Roberto Peon <grmocg@gmail.com> Sun, 01 April 2012 21:33 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 6372521F8983 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 1 Apr 2012 14:33:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.148
X-Spam-Level:
X-Spam-Status: No, score=-9.148 tagged_above=-999 required=5 tests=[AWL=1.450, BAYES_00=-2.599, 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 3vUcH8+eMKwA for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 1 Apr 2012 14:33:10 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 6EC1821F8982 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 1 Apr 2012 14:33:10 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.69) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1SESNt-0001oV-A4 for ietf-http-wg-dist@listhub.w3.org; Sun, 01 Apr 2012 21:32:25 +0000
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.69) (envelope-from <grmocg@gmail.com>) id 1SESNm-0001ng-Sn for ietf-http-wg@listhub.w3.org; Sun, 01 Apr 2012 21:32:18 +0000
Received: from mail-ob0-f171.google.com ([209.85.214.171]) by maggie.w3.org with esmtp (Exim 4.72) (envelope-from <grmocg@gmail.com>) id 1SESNj-0007v8-MY for ietf-http-wg@w3.org; Sun, 01 Apr 2012 21:32:17 +0000
Received: by obbwd18 with SMTP id wd18so438710obb.2 for <ietf-http-wg@w3.org>; Sun, 01 Apr 2012 14:31:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=EISlymlkL0A80qmhS202FPr3+bj5nFw4x2+9DhXZFow=; b=WvD46L0hRH3BxC1NdR1NYvW5cJPlhV8ADjmoFGtqz7FmuBdCrTuFjVEjiZwOaQexjB eKzilqnnRgm99rJu7Wf0pQBslUrA9N/x9rC3xPee/HHlqeN/BRH5clhwN5HNZFkP0PfR t0CZBcJ3HjN4jHd56sylkLBjyZQXQ6R+dd2iJa9I+8qhe3K7pNm9G/DFf2yrn5CQ/HqX q0EOLZ6WqGFTtTkoJ/Ba4BCChxa92zz4xx/magW6dpxz//BekG7uUGvREeqYnz5/SxPE 6I/X4KrQHtNrKsUx85hexbD91LWhvyJ+M7fh1WjINjyvkuplh0xm4gkTV6wvn1P3c//0 dGGg==
MIME-Version: 1.0
Received: by 10.60.13.37 with SMTP id e5mr9506771oec.70.1333315910449; Sun, 01 Apr 2012 14:31:50 -0700 (PDT)
Received: by 10.182.109.102 with HTTP; Sun, 1 Apr 2012 14:31:50 -0700 (PDT)
In-Reply-To: <20120401181435.GA30668@1wt.eu>
References: <CANmPAYH38bbDJtcDLxoHcTSZ06685M30LC9DP7bMcUoJu5j4ig@mail.gmail.com> <20120401181435.GA30668@1wt.eu>
Date: Sun, 01 Apr 2012 23:31:50 +0200
Message-ID: <CAP+FsNd4XwVz4f5dHo-tXasgn5Q-EAhJJF0sF7UYfv9xj=9dDQ@mail.gmail.com>
From: Roberto Peon <grmocg@gmail.com>
To: Willy Tarreau <w@1wt.eu>
Cc: Peter Lepeska <bizzbyster@gmail.com>, ietf-http-wg@w3.org
Content-Type: multipart/alternative; boundary="e89a8fb1f3503738c304bca4cdcd"
Received-SPF: pass client-ip=209.85.214.171; envelope-from=grmocg@gmail.com; helo=mail-ob0-f171.google.com
X-W3C-Hub-Spam-Status: No, score=-2.7
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1SESNj-0007v8-MY 2417e88156b7b424ed863efd9d0c237b
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Ascii-based SPDY "compression" idea
Archived-At: <http://www.w3.org/mid/CAP+FsNd4XwVz4f5dHo-tXasgn5Q-EAhJJF0sF7UYfv9xj=9dDQ@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/13159
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>
Resent-Message-Id: <E1SESNt-0001oV-A4@frink.w3.org>
Resent-Date: Sun, 01 Apr 2012 21:32:25 +0000

++

Willy has it right here.

The goal is to optimize for the user, not to make it easy to debug one
request at the cost of user experience or network price when we as
implementers are perfectly able to create tools that turn the binary into
formatted text and graphics.

-=R

On Sun, Apr 1, 2012 at 8:14 PM, Willy Tarreau <w@1wt.eu> wrote:

> Hi Peter,
>
> On Sun, Apr 01, 2012 at 12:50:20PM -0400, Peter Lepeska wrote:
> > From the SPDY whitepaper <http://dev.chromium.org/spdy/spdy-whitepaper>,
> > the primary performance benefit of header compression is in the upload
> > direction. The benefit can be as much as a 1 second impact for slow DSL
> > (375 Kbps) links based on these tests. This is primarily due to long
> > repeating strings in URLs, User Agents, and Cookies. Ideally we could
> find
> > a way to reduce the bytes associated with these headers without obscuring
> > them.
>
> The goal is now to optimize every agent in the chain, not to make it easy
> to read them from a human eye. Something like 1 requests over 1 billion is
> read by a human, yet networks are full of them and parsers have a lot of
> difficulties trying to get them right because they're made for humans.
> Don't get me wrong, I *love* to read captures and to quickly spot what's
> right or wrong, but people who do this like me are also able to develop
> some additional tools to continue doing this.
>
> > Since a SPDY session is associated with a single TCP connection, we can
> > assume all GETs on that connection are being routed to the same web
> server.
> > This allows us to consider other "compression" schemes for SPDY that will
> > maintain transparency on the wire, or at least make it easier for tools
> to
> > be built to interpret the headers. For instance, in a given TCP
> connection
> > / SPDY session, HTTP headers in GETs and responses can be dropped if they
> > have the same value as previous. If different from previous, only
> > differences can be sent. This would immediately drop User Agent headers
> > from all but the first GET. Additionally requests would contain only
> > cookies whose values are changing, similar to the way that Set-Cookie
> works
> > in HTTP responses today. Even URLs could use relative paths from the
> > previous object.
>
> You should then take a look at what is proposed in our draft here, as it's
> more
> or less what you're describing, with binary-encoded header field names in
> order
> to save more space (stop sending "if-modified-since" for instance) :
>
>  http://tools.ietf.org/html/draft-tarreau-httpbis-network-friendly-00
>
> Best regards,
> Willy
>
>
>