Subject: [quicwg/base-drafts] a1dba3: Replace SETTINGS with EXTENDED_SETTINGS (#80 & #84...

From: Mike Bishop <[email-masked]>
Date: Thu, 15 Dec 2016 14:41:20 -0800

Branch: refs/heads/master
  Home:   https://github.com/quicwg/base-drafts
  Commit: a1dba3f5269cc3e6a2e1c21a95734f2a3cf265a7
      https://github.com/quicwg/base-drafts/commit/a1dba3f5269cc3e6a2e1c21a95734f2a3cf265a7
  Author: Mike Bishop <[email-masked]>
  Date:   2016-12-15 (Thu, 15 Dec 2016)

  Changed paths:
    M draft-ietf-quic-http.md

  Log Message:
  -----------
  Replace SETTINGS with EXTENDED_SETTINGS (#80 & #84)

EXTENDED_SETTINGS was proposed in the HTTP WG as an extension providing an alternative to the HTTP/2 SETTINGS frame. While feedback was that it was "the design we should have had for HTTP/2... more general, saves space in most cases, and includes a flag to request acknowledgment", there was also a feeling that as an extension it was overkill since most things that needed settings already used SETTINGS. The advice was to hold it for HTTP/QUIC and make it the default SETTINGS frame there. So here it is.

Differences from the HTTP/2 proposal based on feedback and further work are:

  - SETTINGS_ACK lists settings which were *not* understood, rather than those that were.  This will hopefully be a smaller set, and as Martin points out, makes a very clear indicator to immediately stop attempting the associated extension.

  - A more elaborate ACK mechanism to address the timing issues that QUIC introduces, namely that you can't know when the setting change has been applied on each stream if you only get one ACK on the control stream.