W3C home > Mailing lists > Public > ietf-http-wg@w3.org > October to December 2013

Re: New Version Notification for draft-bishop-http2-extension-frames-00.txt

From: James M Snell <jasnell@gmail.com>
Date: Sun, 10 Nov 2013 11:19:48 -0800
Message-ID: <CABP7RbccXRp3ux4-b1U8k_JFSS=6++C2kZ0ZgKMoLNg9xr8-Jw@mail.gmail.com>
To: Mike Bishop <Michael.Bishop@microsoft.com>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
A few additional specific comments:

1. re: BASE_SPECIFICATION_ONLY ... this is currently underspecified in
the draft. Let's suppose my client establishes a stream that "travels"
through two intermediate hops on it's way to the server. The path
determined dynamically by the intermediaries. The first intermediary
allows end-to-end extension frames to pass through, but the second
intermediary does not and sends BASE_SPECIFICATION_ONLY. What should
the first intermediary do if it receives extension frames from the
client? Obviously, it cannot send those but there is nothing in the
draft that describes exactly how the intermediary ought to handle it.

 a. Should it just silently drop any extension frames it receives from
the client without notification. The problem being, of course, that
the client would have no idea that it's complete message is not
getting through
 b. Should it update it's settings with the client and say
BASE_SPECIFICATION_ONLY, while silently dropping any extension frames
it may have already received? The problem with this, of course, is
that it terminates that clients ability to send extension frames
through that first intermediary to any other endpoint that might not
have the BASE_SPECIFICATION_ONLY requirement.
 c. Should it RST_STREAM the stream with the client letting it know
that the extension frames could be passed on?

 (IMHO, (c) is obviously the best choice)

2. re: Flow control ... are end-to-end extension frames subject to
flow control, and if not, why not?

3. Strongly feel that the use of Private enterprise numbers as a
namespacing mechanism for extensions is going to encourage abuse and
non-standardization of protocol extensions. Specifically, it allows
specific vendors the ability to define, deploy and maintain their own
proprietary protocol extensions without any pressure whatsoever to
take things through standardization. IMHO, that's fairly dangerous.
Having a limited extension space with very clear processing
requirements is a significantly better option.

4. A compromise approach here would be to utilize both of the
approaches suggested by myself and Mike's draft. Specifically:

  a. Segment the existing frame type space into end-to-end and
hop-by-hop as I have suggested,
  b. Define that hop-by-hop frames MUST either be passed through
untouched or RST_STREAM returned,
  c. Define that *all* hop-by-hop frames are subject to flow-control,
  d. Define that extension end-to-end frames MUST NOT change session
state and can be silently dropped.
  e. Define a new INFO frame type that can always be silently dropped.
The structure of the INFO frame would essentially be the same as Mike
suggests in his draft. The INFO frame would be hop-by-hop, with the
intermediary having the ability to decide whether or not to forward
those on (like we currently do with PUSH_PROMISE).

This would be a much more robust and reliable approach.

- James

On Fri, Nov 8, 2013 at 11:21 AM, Mike Bishop
<Michael.Bishop@microsoft.com> wrote:
> Since I was volunteered at the working group meeting to share this, here’s
> the current version of my draft.  I will re-emphasize that this is strictly
> a strawman, and any suggestions on how to improve this are more than
> welcome.
> Sent from Windows Mail
> From: internet-drafts@ietf.org
> Sent: ‎Friday‎, ‎November‎ ‎8‎, ‎2013 ‎11‎:‎16‎ ‎AM
> To: Mike Bishop
> A new version of I-D, draft-bishop-http2-extension-frames-00.txt
> has been successfully submitted by Mike Bishop and posted to the
> IETF repository.
> Filename:  draft-bishop-http2-extension-frames
> Revision:  00
> Title:   Extension Frames in HTTP/2.0
> Creation date:  2013-11-08
> Group:   Individual Submission
> Number of pages: 10
> URL:
> http://www.ietf.org/internet-drafts/draft-bishop-http2-extension-frames-00.txt
> Status:
> http://datatracker.ietf.org/doc/draft-bishop-http2-extension-frames
> Htmlized:
> http://tools.ietf.org/html/draft-bishop-http2-extension-frames-00
> Abstract:
>    This document describes a proposed modification to the HTTP/2.0
>    specification to better support the creation of extensions without
>    the need to version the core protocol or invoke additional protocol
>    identifiers.
> Please note that it may take a couple of minutes from the time of submission
> until the htmlized version and diff are available at tools.ietf.org.
> The IETF Secretariat
Received on Sunday, 10 November 2013 19:20:36 UTC

This archive was generated by hypermail 2.4.0 : Saturday, 28 January 2023 21:29:08 UTC