W3C home > Mailing lists > Public > ietf-http-wg@w3.org > April to June 2014

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

From: Matthew Kerwin <matthew@kerwin.net.au>
Date: Fri, 23 May 2014 09:48:33 +1000
Message-ID: <CACweHNAbK+gz1T2q6jGqmTp8D6ELctA2HGXJD=ECFOuy-X8uqA@mail.gmail.com>
To: Mike Bishop <Michael.Bishop@microsoft.com>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
I like this. Is an unwritten implication of the proposal that an extension
can redefine existing frame types?

I'm thinking of DATA compression as an extension, adding settings
parameters/flags/frame headers/etc. The current compression mechanism is
hop-by-hop, and it would be negotiated as a hop-by-hop extension, so it
works there; but I'll have to think more about the implications for
introducing end-to-end compression. My initial reaction is that we'd have
to introduce an extension frame type that duplicates DATA, like
COMPRESSED_DATA. This could have far reaching consequences, especially for
things like caching or transforming proxies.

Also: there's a lot of "it's safe it ignore these" things in there. I'd
feel much more comfortable if there were some more hard, loud failures.  Handling by Intermediaries

   Intermediaries MUST forward all end-to-end frames regardless of
   whether they recognize the frame type.  Endpoints (user agents and
   origin servers) MUST discard any frame types which they do not
   recognize.  Such frames are, by definition, informational and can be
   safely ignored without affecting the shared state with the sender.

   All hop-by-hop extension-defined frames MUST be dropped by
   intermediaries which do not support the extension.  However, each
   extension SHOULD specify how an intermediary translates the frames
   defined by the extension toward other peers which might or might not
   support the same extension.  When an intermediary advertises support
   for an extension, it MUST abide by the extension-defined intermediary


   [...] Implementations MUST ignore unknown settings and
   MUST NOT emit settings defined by an extension which has not been
   announced in an EXTENSIONS (Section 3.3.2) frame.

If extensions are negotiated, there should never be a case where you
receive an extension-defined frame type or setting that you don't
recognise, so it should be a hard error. At the least you'd be flagging a
broken implementation.

On 23 May 2014 03:34, Mike Bishop <Michael.Bishop@microsoft.com> wrote:

>   When we decided in Zurich to foreclose the option to extend HTTP/2, we
> thought that we were close to done with the basic protocol.  And it’s true
> -- the fundamentals of HTTP/2 haven’t changed all that much since
> then.  But various cases keep coming up where certain parties need to add
> one more feature.  While these aren’t core to the HTTP/2 protocol, they’re
> also not worth versioning the protocol for later, and so we’ve added them
> to the spec for experimentation as optional components.
> This draft proposes that many of these would be perfectly valid use-cases
> for extensions, and that we might make progress more quickly if we add a
> simple extension model.  I believe that the time we take in getting the
> extension model right will be more than offset by the ability to unblock
> the protocol and still handle new situations as they arise, even though
> we’re late in the process.
> I want to emphasize that the goal of the extension model is simplicity in
> the core protocol, and I’d welcome feedback on how to simplify it further.
>   Sent from Windows Mail
>   *From:* internet-drafts@ietf.org
> *Sent:* ‎Thursday‎, ‎May‎ ‎22‎, ‎2014 ‎10‎:‎24‎ ‎AM
> *To:* Mike Bishop <Michael.Bishop@microsoft.com>, Mike Bishop<Michael.Bishop@microsoft.com>
> A new version of I-D, draft-bishop-http2-extension-frames-01.txt
> has been successfully submitted by Mike Bishop and posted to the
> IETF repository.
> Name:  draft-bishop-http2-extension-frames
> Revision: 01
> Title:  Extension Frames in HTTP/2
> Document date: 2014-05-22
> Group:  Individual Submission
> Pages:  18
> URL:
> http://www.ietf.org/internet-drafts/draft-bishop-http2-extension-frames-01.txt
> Status:
> https://datatracker.ietf.org/doc/draft-bishop-http2-extension-frames/
> Htmlized:
> http://tools.ietf.org/html/draft-bishop-http2-extension-frames-01
> Diff:
> http://www.ietf.org/rfcdiff?url2=draft-bishop-http2-extension-frames-01
> Abstract:
>    This document describes a proposed modification to the HTTP/2
>    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

  Matthew Kerwin
Received on Thursday, 22 May 2014 23:49:02 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:14:30 UTC