Re: Multi-GET, extreme compression?

James M Snell <jasnell@gmail.com> Mon, 18 February 2013 02: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 CCA3121F8A50 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 17 Feb 2013 18:33:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.337
X-Spam-Level:
X-Spam-Status: No, score=-10.337 tagged_above=-999 required=5 tests=[AWL=-0.039, BAYES_00=-2.599, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gRMY4kRlohG7 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 17 Feb 2013 18:33:48 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id EA1B321F8A35 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 17 Feb 2013 18:33:47 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1U7GXW-0000HZ-Qm for ietf-http-wg-dist@listhub.w3.org; Mon, 18 Feb 2013 02:33:10 +0000
Resent-Date: Mon, 18 Feb 2013 02:33:10 +0000
Resent-Message-Id: <E1U7GXW-0000HZ-Qm@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 1U7GXL-0000Gk-Ks for ietf-http-wg@listhub.w3.org; Mon, 18 Feb 2013 02:32:59 +0000
Received: from mail-ob0-f182.google.com ([209.85.214.182]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1U7GXK-00037Z-Fr for ietf-http-wg@w3.org; Mon, 18 Feb 2013 02:32:59 +0000
Received: by mail-ob0-f182.google.com with SMTP id va7so5118671obc.41 for <ietf-http-wg@w3.org>; Sun, 17 Feb 2013 18:32:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=gLADdXiTg651qqnkk/7UuioKqsGrMFdBZAu8bo1hIPo=; b=I5b17srUnvmgoeefEP9fRAB9YVobAdn8PQngPlsUWYzp6+BX/7gjmj9JU5mAwrQrC4 GqRtEroIvJ7lhnjbTx4QAIu5pKJ/y/dkVtKDkQGRzGJdyjtPn35RmFf3hbMBoX0DJu+p wzqxFSIpF5fS4cdaeGbIJxSr/zpncalDgjANOieSmr+EFJFKf9WA5XdQbD+QMkQK8MSf 24RRmNx0PxVA+LejJETEDojY9MNM3jIZ+mfFTgHLh4wvrPoZZqN20AN6NpKV57f+Ct+g 60geSgrtMZpu21dw6dreyDc+EwMX1+Ka8lX80qJoNDnCYBPJJa+DC1iO6qZOFGMfjTPI 3K/w==
MIME-Version: 1.0
X-Received: by 10.60.22.137 with SMTP id d9mr5361342oef.91.1361154752049; Sun, 17 Feb 2013 18:32:32 -0800 (PST)
Received: by 10.60.23.193 with HTTP; Sun, 17 Feb 2013 18:32:31 -0800 (PST)
Received: by 10.60.23.193 with HTTP; Sun, 17 Feb 2013 18:32:31 -0800 (PST)
In-Reply-To: <CAA4WUYgGiJmtbswzmXWi-Ob+1HmoGnMhwr+9j9b5KS5OVQQdjQ@mail.gmail.com>
References: <CAMm+LwiF6EM8_aQgUm=nPS5XqaG25iRGNke_rnHTM1vTGMXdfg@mail.gmail.com> <A6A82B6EF92590887D2A23D5@cyrus.local> <D9118B58-F53F-4F75-8292-2B990172E234@opengroupware.org> <CABP7RbcX2OqttZuYeuYxhyOgE_ax0M67L1ywPy_VDpW1upM69Q@mail.gmail.com> <CAP+FsNeWDBTBYJ0P-URbO5avbUno5etKid10RM+dRwDWAUys2w@mail.gmail.com> <CABP7RbfVvZnYPPsRvzmC0BtCiPBxQmYXHTRKtq8XE7Z2wY2EfA@mail.gmail.com> <CAA4WUYioRAOEbjU32yEaJuWDAySiZF=OfKXcF-8esqTP0uqwtQ@mail.gmail.com> <968F329C-B6CF-4129-B816-DC56C834A4A4@opengroupware.org> <CAA4WUYgGiJmtbswzmXWi-Ob+1HmoGnMhwr+9j9b5KS5OVQQdjQ@mail.gmail.com>
Date: Sun, 17 Feb 2013 18:32:31 -0800
Message-ID: <CABP7Rbd6NYnR=-JE21SFZ3mrZXopuZ1h3jh9Lp=nJdBAW1rF9g@mail.gmail.com>
From: James M Snell <jasnell@gmail.com>
To: "ChanWilliam(陈智昌)" <willchan@chromium.org>
Cc: Roberto Peon <grmocg@gmail.com>, Phillip Hallam-Baker <hallam@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>, Helge Hess <helge.hess@opengroupware.org>, Cyrus Daboo <cyrus@daboo.name>
Content-Type: multipart/alternative; boundary="e89a8f838cff7af3e404d5f68914"
Received-SPF: pass client-ip=209.85.214.182; envelope-from=jasnell@gmail.com; helo=mail-ob0-f182.google.com
X-W3C-Hub-Spam-Status: No, score=-4.5
X-W3C-Hub-Spam-Report: AWL=-1.761, 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 1U7GXK-00037Z-Fr 3f4c57cf53b6a2307de333d82292cac1
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Multi-GET, extreme compression?
Archived-At: <http://www.w3.org/mid/CABP7Rbd6NYnR=-JE21SFZ3mrZXopuZ1h3jh9Lp=nJdBAW1rF9g@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/16654
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 Feb 17, 2013 5:52 PM, "William Chan (陈智昌)" <willchan@chromium.org> wrote:
>
> On Sun, Feb 17, 2013 at 5:38 PM, Helge Hess <helge.hess@opengroupware.org>
wrote:
>>
>> On Feb 17, 2013, at 5:30 PM, William Chan (陈智昌) <willchan@chromium.org>
wrote:
>> > I'm having difficulty grokking this proposal. Can you describe more
clearly how this would work with the web platform? Specifically, what kind
of markup in a HTML document should cause a browser to use a MGET for a
resource set as you describe it.
>>
>> ? e.g. <img>, <script>, CSS links etc.
>
>
> I'm confused. We issue individual GETs for the individual resource URLs.
How do we know to combine those individual resources into this magical
/resource/set path?
>

If they are in individual img, script, stylesheet elements, you would do a
single mget with each distinct URL listed. I presume that a new element
representing a single resource set would be needed for the other case.

> Furthermore, as I previously linked to in the very first reply to the
thread, when we discussed MGET previously, I highlighted how the browser
incrementally parses the document and sends GETs for resources as it
discovers them. Since my browser does not have a crystal ball telling it
that more resources are coming and when they are coming, the browser simply
issues GETs as soon as it can (subject to some other constraints like DNS
and available TCP sockets and some weak attempts at resource scheduling).
>

The approach for this would be to list the grouped resources as early in
the page as possible. It is definitely not without it's problems.

>>
>>
>> > Also, how does this work for HTTP/1.X? Since we'll be living in a
transitional world for awhile, I'd like to understand how this allows for
HTTP/1.X semantics backwards compatibility.
>>
>> An old server would return a 405 when the BATCH comes in, then the
client needs to switch to performing the operations individually.
>

Fwiw that's not what I had in mind at all.

If the mget specifies separate URLs, the transforming proxy simply splits
those out into distinct get requests. Otherwise it translates it onto a
single get and hopes for the best. The server will either do the right
thing or return a 404.

Mget would not necessarily be backwards compatible and a client ought to
only use it if the origin server supports it.

- James

>
> So, you handwaved over how the client would magically transform URL1 +
URL2 + URL3 into magical example.com/resource/set. Assuming that's
possible, how do you do the reverse transformation, when a HTTP/2=>HTTP/1.X
gateway needs to translate HTTP/2 MGET requests for this /resource/set into
the individual GETs for the original URLs. And even if this is possible,
how reasonable is it to pay this roundtrip on receiving the 405? We've
fought really hard to eliminate roundtrips.
>
>>
>>
>> hh
>>
>