[quicwg/base-drafts] Static table negotiation (#1343)
Mike Bishop <notifications@github.com> Wed, 09 May 2018 19:51 UTC
Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3C607127863 for <quic-issues@ietfa.amsl.com>; Wed, 9 May 2018 12:51:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.01
X-Spam-Level:
X-Spam-Status: No, score=-8.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id McvMllPuFD8Z for <quic-issues@ietfa.amsl.com>; Wed, 9 May 2018 12:51:44 -0700 (PDT)
Received: from out-2.smtp.github.com (out-2.smtp.github.com [192.30.252.193]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CAFAC127909 for <quic-issues@ietf.org>; Wed, 9 May 2018 12:51:43 -0700 (PDT)
Date: Wed, 09 May 2018 12:51:43 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1525895503; bh=YF8rjxH6vCMR75JOERTYBIyNMkIrz41CTMuz/82ydqk=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=2JRx+Uam32dk6Gt8Dwf873+oZJKAbZRreKvzVigQxWG2/pCOcWUfSfmPPiWiSjerf sgdL/8Fid2wZbEd3/JYYkqPpfGnT/YMUBE07Qh5t0BYNrXqvCm8+BwpjsYOfRNq/vR cevZLtv9KnyuqtpspFyAO8O9YKX96eJSWnQEPYtg=
From: Mike Bishop <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab9a018f19ad3fb1ce7ff9347cd0a928c4901b3a1e92cf00000001170b134f92a169ce132ccea3@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/1343@github.com>
Subject: [quicwg/base-drafts] Static table negotiation (#1343)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5af3514f304bf_29403fec8354af88699f6"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: MikeBishop
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/LNEEgwfO7D7l5nA7Sc1tFXghsMY>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 09 May 2018 19:51:48 -0000
During the discussion on #904, it was proposed that a means of using different static tables might be worthwhile. We've already found that the web has moved on a bit from the headers in RFC 7541, and the same is likely to be true of whatever we put in HQ1. It might be nice not to need a protocol rev to update the table every few years. Another reason to support multiple tables: Both the HPACK and the draft QPACK static table are based on browser web traffic. Browsers and web aren't the whole of HTTP usage, and other users of HTTP might well define a static table better suited to their needs. If such a mechanism is available, it might also make sense to define separate client and server tables. A few models have been suggested, none of them ideal: 1. **An instruction to switch to a new static table.** Probably difficult to actually work out, because of reordering of request streams with the control stream, but has the advantage that you can start by assuming the default table and switch to another later if the peer supports it. 2. **Crossed SETTINGS values.** Each side declares its supported tables in preferred order. Each side encodes using its most preferred table that was also in the peer's list; decode using the first entry in the peer's list that was also in your list. Requires consuming the server's SETTINGS frame before sending any requests, which clients don't currently have to do, but the requirement to remember settings for 0-RTT plus the server's ability to send in 0.5-RTT makes this less onerous than it would have been in H2. (Note that this option could also be implemented as an HTTP/2 extension.) 3. **Crossed transport parameter.** As previous, but carried in a transport parameter. There are currently no application-level settings exchanged in transport parameters, both due to separation of concerns and because the transport doesn't know in its initial flight what application protocol will be selected (in the general case), so it would need to carry the settings of all application protocols that ALPN is proposing. I feel like this is interesting, but I'm undecided about whether it's unnecessary feature creep or useful future-proofing. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/quicwg/base-drafts/issues/1343
- [quicwg/base-drafts] Static table negotiation (#1… Mike Bishop
- Re: [quicwg/base-drafts] Static table negotiation… Martin Thomson
- Re: [quicwg/base-drafts] Static table negotiation… Lucas Pardue
- Re: [quicwg/base-drafts] Static table negotiation… Dmitri Tikhonov
- Re: [quicwg/base-drafts] Static table negotiation… Mike Bishop
- Re: [quicwg/base-drafts] Static table negotiation… Lucas Pardue
- Re: [quicwg/base-drafts] Static table negotiation… Kazuho Oku
- Re: [quicwg/base-drafts] Static table negotiation… afrind
- Re: [quicwg/base-drafts] Static table negotiation… Mark Nottingham