Re: [alto] Fwd: HTTP Review (draft-ietf-alto-new-transport)

"Y. Richard Yang" <yry@cs.yale.edu> Thu, 21 July 2022 21:39 UTC

Return-Path: <yang.r.yang@gmail.com>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8EC55C14EB1E for <alto@ietfa.amsl.com>; Thu, 21 Jul 2022 14:39:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.412
X-Spam-Level:
X-Spam-Status: No, score=-1.412 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.248, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.248, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CkHIkWSVUQUi for <alto@ietfa.amsl.com>; Thu, 21 Jul 2022 14:39:48 -0700 (PDT)
Received: from mail-yb1-f172.google.com (mail-yb1-f172.google.com [209.85.219.172]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 01287C15A73A for <alto@ietf.org>; Thu, 21 Jul 2022 14:39:39 -0700 (PDT)
Received: by mail-yb1-f172.google.com with SMTP id 7so5108597ybw.0 for <alto@ietf.org>; Thu, 21 Jul 2022 14:39:39 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=bKxYs5WoXM0JxGSh75JVuJxW4YHvjDAtcGyoyUZfVUs=; b=t2BE+rFbIWpjXlniRNahi8/norQMg0laRbLHvpyUYXW719oTcq2Z56hwII1uaMvT0J /OZKTEOzbAQGvXfIEI7jNOs3cMfMQ/YAzmjbFFsRxNbx9dSiDYXrrbagHOFyYDI8he74 Z6XpQ0765C/lnJTzyKWfSzMfLortPdxMSHDb3/d49URLWNnw5//6QROFJPWTjwyMYcO0 7yC6+smMC5YVcQnF/IZnxCJkOl4JhlBnrJ+P7W+44LPd+82X+h8yKWOdVVGsgH2r2KBJ mfaQ2CKtwGM++Tb4InHa55ugUUkH8v285xPm3L7Zkb7n9Vi1sZR+YLazOdnLCFo/xOp/ 7vtA==
X-Gm-Message-State: AJIora8ZGHgQGbDVIWcY4pObHiWt14So7UP9iNfkjVd/YMOzJ87VhvRB xcir5d0ZQeNQ0VZrARd0h0zcQlZSseGagHICnRhiW+Nugxo=
X-Google-Smtp-Source: AGRyM1vG5fwrl7g624E+YhPh/iD9muNOPfjDqiAEbq+qR7j1oZo5k7wZ3Ha2P1hKLRrTqfrjtzfN6T5IZvZaMFfRG3s=
X-Received: by 2002:a05:6902:287:b0:66e:36d0:ad2a with SMTP id v7-20020a056902028700b0066e36d0ad2amr469727ybh.341.1658439579020; Thu, 21 Jul 2022 14:39:39 -0700 (PDT)
MIME-Version: 1.0
References: <9979_1657033016_62C45138_9979_197_42_f6e3825994624da7bcbe2ef353e5f718@orange.com> <8888D7E2-2482-44B4-8972-5C0E75D8C8B9@mnot.net> <5cf0f987-4bdb-4dbc-9938-098b2653339c@beta.fastmail.com>
In-Reply-To: <5cf0f987-4bdb-4dbc-9938-098b2653339c@beta.fastmail.com>
From: "Y. Richard Yang" <yry@cs.yale.edu>
Date: Thu, 21 Jul 2022 17:39:28 -0400
Message-ID: <CANUuoLpzMH=v2cxjNNWAf1E43=r7nhC5Q69kG1LbzAzLKNrHvg@mail.gmail.com>
To: Martin Thomson <mt@lowentropy.net>
Cc: IETF ALTO <alto@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000fd30b605e4578de7"
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/NgDLgIUofKxFBq0oXKYKscRh4So>
Subject: Re: [alto] Fwd: HTTP Review (draft-ietf-alto-new-transport)
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Application-Layer Traffic Optimization \(alto\) WG mailing list" <alto.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/alto>, <mailto:alto-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/alto/>
List-Post: <mailto:alto@ietf.org>
List-Help: <mailto:alto-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/alto>, <mailto:alto-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 21 Jul 2022 21:39:51 -0000

Hi Martin,

Sorry that I did not include you in the previous email--auto completion of
email address included a different Martin :-( My apologies.  Please kindly
see this message:
https://mailarchive.ietf.org/arch/msg/alto/CBRGLTekers9PXQ5EE2MtMywMgE/

Please see below for more comments.

On Mon, Jul 11, 2022 at 1:28 AM Martin Thomson <mt@lowentropy.net> wrote:

> ALTO is very much a protocol that is defined in terms of core HTTP
> semantics (see RFC 9205, Section 4.1).  It refers to RFC 7230 (the
> then-current version) rather than RFC 7231 as perhaps it should have, but I
> couldn't see any place where the use of HTTP semantics were
> version-specific.
>
> That makes this document a little surprising.  Most protocols that use
> HTTP benefit from HTTP/2 and HTTP/3 by doing exactly nothing in
> specifications.  You just update software.  This document is a fair bit
> more than nothing.
>
>
Please see the generic discussion in the previous email (
https://mailarchive.ietf.org/arch/msg/alto/CBRGLTekers9PXQ5EE2MtMywMgE/) on
why the current version specified the additional details.

To summarize shortly, the problem is that
(1) a server needs to push a set of resources Ui to a client, there can be
dependencies among the Ui, and how to map each Ui to which stream (in
HTTP/2 or HTTP/3);
(2) each Ui already has a media type, and if multiple Ui are mapped to the
same stream, how to indicate so in the push header and what is the
container media type.

The decision in the current document is:
- Map each Ui to an independent stream (so that no container issue for (2)
-  Instruct the server to respect the dependency to optimize the
transmissions (e.g., by transmitting Ui before Uj, if Uj depends on Ui).


> The new concept of transport queues is added, but I couldn't work out what
> they do.  Maybe there is something related to server push.  I found this
> part to be poorly rationalized and the explanation concentrates on
> mechanisms to the detriment of explaining what the functions provided are
> intended to do.  I can guess based on RFC 8895 what they might do, but I
> think that this document should probably do some more explaining about that.
>
>
Good suggestion. We can add some text to explain, and here is the
high-level reasoning motivating the transport queue concept:
- Pull: Allow a client to see the possible request points;
- Push: When a client indicates an interest to receive the incremental
updates for a resource, the server can start to push incremental updates to
the client; the transport queue is a resource to tell a client the push
status and also reflect the push URI.


> Even with some guessing, I couldn't easily see how the non-push version is
> supposed to work.  How does the client know which URI to GET?  It looks
> like there is some magical URI construction going on based on examples, but
> that isn't written down.
>
>
We should update the whole workflow: The starting point is the Information
Resource Directory (IRD), which provides the entry point. We put the IRD
example in the later part and we can refer to it before the examples. How
does this sound?


> It looks like Section 8 is over-specifying, with details of stream
> dependencies and so forth.
>
>
Please see the generic email. We will try to simplify when we update. I see
two approaches to simplifying the spec: (1) let the application layer
handle it (each Ui as an independent message in the transport layer); and
(2) only specify the dependency of the resources but do not go to stream
dependency.


> I *think* there is a new resource type here, but that isn't registered in
> the IANA section.

That shouldn't be called "-h2"; a better name would describe what the
> resources are for.  There is also a new media type apparently, but I
> couldn't see where that is defined.
>
> Good catch. We have not included it yet as we are finalizing the semantics
and not the grammar yet, but it is a good point and the new version will
include the spec.

Thank you so much!

Richard



>
>
> On Mon, Jul 11, 2022, at 13:37, Mark Nottingham wrote:
> > Hi folks,
> >
> > I've been asked to forward this request for early review; does anyone
> > want to take a look?
> >
> > Feedback to alto@ietf.org.
> >
> > Cheers,
> >
> >
> >> Begin forwarded message:
> >>
> >> *From: *<mohamed.boucadair@orange.com>
> >> *Subject: **HTTP Review (draft-ietf-alto-new-transport)*
> >> *Date: *6 July 2022 at 12:56:56 am AEST
> >> *To: *Mark Nottingham <mnot@mnot.net>
> >> *Cc: *Qin Wu <bill.wu@huawei.com>, "
> draft-ietf-alto-new-transport@ietf.org" <
> draft-ietf-alto-new-transport@ietf.org>
> >>
> >> The ALTO WG is currently working on the specification available at:
> https://datatracker.ietf.org/doc/draft-ietf-alto-new-transport/. The
> current version focuses on H2 with the intent to cover at least common
> H2/H3 functionalities.
> >>
> >> The WG is seeking for early reviews so that issues/advice are taken
> into account early in the process.
> >>
> >> We are particularly interested in comments about the handling of H3,
> especially with regards to the guidelines in RFC9250 about HTTP versioning.
> >>
> >> Of course, comments related to other considerations in the draft are
> more than welcome.
> >>
> >> Thank you.
> >
> > --
> > Mark Nottingham   https://www.mnot.net/
>
> _______________________________________________
> alto mailing list
> alto@ietf.org
> https://www.ietf.org/mailman/listinfo/alto
>