draft-kamp-httpbis-structure-00 comments
Martin Thomson <martin.thomson@gmail.com> Mon, 10 October 2016 22:41 UTC
Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 79F2B1293DA for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 10 Oct 2016 15:41:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.517
X-Spam-Level:
X-Spam-Status: No, score=-9.517 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, RP_MATCHES_RCVD=-2.996, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 1PeWsYHCTANy for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 10 Oct 2016 15:41:56 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 54AD4127071 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 10 Oct 2016 15:41:56 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1btjCh-0005Er-W4 for ietf-http-wg-dist@listhub.w3.org; Mon, 10 Oct 2016 22:37:52 +0000
Resent-Date: Mon, 10 Oct 2016 22:37:51 +0000
Resent-Message-Id: <E1btjCh-0005Er-W4@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <martin.thomson@gmail.com>) id 1btjCc-0005E0-9E for ietf-http-wg@listhub.w3.org; Mon, 10 Oct 2016 22:37:46 +0000
Received: from mail-qt0-f175.google.com ([209.85.216.175]) by lisa.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <martin.thomson@gmail.com>) id 1btjCa-0007ky-Ll for ietf-http-wg@w3.org; Mon, 10 Oct 2016 22:37:45 +0000
Received: by mail-qt0-f175.google.com with SMTP id s49so2054105qta.0 for <ietf-http-wg@w3.org>; Mon, 10 Oct 2016 15:37:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=smJreS+rGhpEO5DR+JXx8r4VIiKndHGOL5BXde49blc=; b=zxixeCfr7rO+Q6PLRePOz5O0/Nq8IcWF9+EodVkR54uys5xN/sWGxDfsy6GZDuZz0z BpvbCZLw91w4hP2z7H9VnfkRuz01SlZ0OeU9s35Svh+6emu1N1q3NpgKqgPVsvvgQ82B buNe2VmyWV+k0i9FEjgtQ5jbRuHFC8QWLbE/SAGji9P/FGHpvg+aaDxra8a5WR6judEL HW3Ak+fQZfFM0OnzQXUYeXKMhx8Uc71QlFdv+jPI+d+Du+zDh8Y6QjGvvKcNjqKYSrer m7KPE2i7nBZHKgYdFH4kdScb4XcrsbTHu+kgGAiQA24YNhUn9oAd6mELjgOQxtIv8Brw xJTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=smJreS+rGhpEO5DR+JXx8r4VIiKndHGOL5BXde49blc=; b=gFhAqeHgiZC2lylUJtow/bpFD8+JhzXsq4pCi7k0X44ftLvbof8DjQev+oq0VMjiSX VuXZ1/9t+IbLJgpZI4mQsn4TASBMJDoc8Ge07vdurNZTL3UW1dUSZKYVy939A2Ff9pBH TgrXulBmrRo9XDQyMrXTnoHdAdQfPD073bSg3vYdmxT1QFnH+cBNq9OI+dVPFDQ4MZEA dHwftWANF7Yu41yyPNzxDU/q+b0dNG7ZD9YC07ZBE41/hJ+0AKeRw6WT5fZYRe1VZiR7 KFHce/jhi/l3Bz8rKywz9D3rvLxatLGp/okj3ZoC8hqHdp3M5uedh+tOxvrCOshAFFYi rrrA==
X-Gm-Message-State: AA6/9RkMNkU6mcgxkFY7OBp+v74xKYo9X2d3IZEB1HO5F4AZhDHx5uSUoAcEsFvPNzwHKmW7EGkT0DL8bZoKHw==
X-Received: by 10.237.59.123 with SMTP id q56mr603738qte.116.1476139038112; Mon, 10 Oct 2016 15:37:18 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.85.7 with HTTP; Mon, 10 Oct 2016 15:37:17 -0700 (PDT)
From: Martin Thomson <martin.thomson@gmail.com>
Date: Tue, 11 Oct 2016 09:37:17 +1100
Message-ID: <CABkgnnUD3BXPLKCjSJdWPxwdE89vh4a+UA--19VxMwQXQ64_Rg@mail.gmail.com>
To: HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=209.85.216.175; envelope-from=martin.thomson@gmail.com; helo=mail-qt0-f175.google.com
X-W3C-Hub-Spam-Status: No, score=-6.1
X-W3C-Hub-Spam-Report: AWL=0.082, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: lisa.w3.org 1btjCa-0007ky-Ll 545c412c37acf0ad890e3fd8b7df55f1
X-Original-To: ietf-http-wg@w3.org
Subject: draft-kamp-httpbis-structure-00 comments
Archived-At: <http://www.w3.org/mid/CABkgnnUD3BXPLKCjSJdWPxwdE89vh4a+UA--19VxMwQXQ64_Rg@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32542
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
I've spent a bit of time thinking about this, and that there is probably something here, but I'm not sure what it is. I'd like to see if we can up-level the discussion a little and concentrate on what we have and what we want. I want to concentrate on these issues rather than the specifics of the document, because I'm not sure that the document is clear enough about articulating its goals right now. The introduction is pretty good about setting out the state of play (it's a mess), but I would really appreciate it it it also included both a desired end-state and a plan for reaching that place. 1. Desired end-state Though it is not stated, there are many potential properties we might want to obtain by making this sort of change: - more consistent representation of header fields - easier to specify new, compatible header fields - more capable header fields (more resolution on dates, for instance) - more efficient parsing and processing code - smaller header field representations - (there are probably some other goals too) The draft is clearly aiming at the some of these, but it's less clear about its stance with respect to some of the other ones. Any draft also needs to describe when an implementation might use whatever tools the draft describes. It looks like the intent is to find "compatible" header fields, but to what end? After all, virtually all header fields can be made compatible by cramming them into a string (that's essentially the mess we have today), so there has to be something better than that. The draft should at least acknowledge incentive to deploy. In order for it to be attractive to both clients and servers to support this, they need to see some tangible benefits. I can say that from a browser perspective, reliability and performance are pretty good incentives. Parsing efficiency isn't a big deal for us, and new code has an automatic reliability penalty, so a more compact form might be a good place to look. Clearly, constrained implementations (and servers count) benefit greatly from parsing efficiencies. 2. Getting from here to there Presumably the plan is to find some place that a new encoding can be used and use the encoding there. But the draft describes how to encode header fields in a new syntax that is distinctly different to existing header fields, and therefore definitively incompatible. That implies the need for some way to decide to send header fields in this new form. It mentions existing header fields, but offers no plan that would let a client or server decide to use this form. I can imagine negotiating support for this in HTTP/2 with settings or something like that (it's surprisingly complicated in practice); I can also imagine that a server might advertise support for this using a .well-known resource (YAWK); I can even imagine using connection-level negotiation in http/1.1 with an inter-request stateful mechanism (YUCK). It's never going to be possible to construct a rule to translate an arbitrary header field unless you want to commit to crappy translations for stuff that exists now that we don't bother to create good rules for. That probably means you will need a way to learn on a per-header-field basis whether the common form is supported. That might be done in sets (you could provide rules for the existing set of registered header fields), but NeckoFace:>n< probably isn't going to be something you can use from the outset.
- draft-kamp-httpbis-structure-00 comments Martin Thomson
- Re: draft-kamp-httpbis-structure-00 comments Poul-Henning Kamp
- Re: draft-kamp-httpbis-structure-00 comments Kari Hurtta
- Re: draft-kamp-httpbis-structure-00 comments Poul-Henning Kamp