Re: #536: clarify extensibility for :pseudo header fields

David Krauss <potswa@gmail.com> Wed, 02 July 2014 05:49 UTC

Return-Path: <ietf-http-wg-request@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 (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E23561B28C5 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 1 Jul 2014 22:49:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.882
X-Spam-Level:
X-Spam-Status: No, score=-6.882 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, RCVD_IN_DNSWL_HI=-5, RCVD_IN_SORBS_WEB=0.77, RP_MATCHES_RCVD=-0.651, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 ZZTeSRaaOhbT for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 1 Jul 2014 22:49:37 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 060441B28BF for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 1 Jul 2014 22:49:37 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1X2DOO-0001CR-BL for ietf-http-wg-dist@listhub.w3.org; Wed, 02 Jul 2014 05:47:40 +0000
Resent-Date: Wed, 02 Jul 2014 05:47:40 +0000
Resent-Message-Id: <E1X2DOO-0001CR-BL@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <potswa@gmail.com>) id 1X2DOG-00018h-QH for ietf-http-wg@listhub.w3.org; Wed, 02 Jul 2014 05:47:32 +0000
Received: from mail-pa0-f50.google.com ([209.85.220.50]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <potswa@gmail.com>) id 1X2DOF-0001eN-Ns for ietf-http-wg@w3.org; Wed, 02 Jul 2014 05:47:32 +0000
Received: by mail-pa0-f50.google.com with SMTP id bj1so11898400pad.37 for <ietf-http-wg@w3.org>; Tue, 01 Jul 2014 22:47:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=AsWpOpCZHcZu/GAapteHuRsPDpSJ7wCq6rEbtzlHCIY=; b=GWPQOr1ELETLd7LpbBCGc/IFLW77GGn7h5N0ubFENEgvFGRxg86bdkJPx7o9Bhm6sy IZlFeQzvBNCi3g6QuA+X618gTa18sYQdl97V8npqAc2tTOOqWKvQ931kh36fULsJIskk VbccIndU2Rh3ZQPSRF46dA5JNKtE/mOX9IV5p+VquF7hIv7EGohVj2gOvc2PlEFXthyT WQmLVKIALqpyIi4EgJ9cgJxginkE/oFAdo7EIyjXbZ1iFv4Syra8UigWwb9HHRJnEfSv xOYfrAbvXiOhu4wfXjdDtHKC8niIT5ZLRhDMmHNnQYrLpJ2hmjSQCNqrJtazJzVJErVG ZblA==
X-Received: by 10.66.66.202 with SMTP id h10mr1557743pat.70.1404280025090; Tue, 01 Jul 2014 22:47:05 -0700 (PDT)
Received: from [172.20.10.2] ([121.54.54.146]) by mx.google.com with ESMTPSA id wg4sm125244505pab.47.2014.07.01.22.47.01 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 01 Jul 2014 22:47:04 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_87708CEA-D5B2-47FA-9F52-72D7685355A5"
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: David Krauss <potswa@gmail.com>
In-Reply-To: <1E9B1054-6B2A-4646-8EE5-8A4A98020593@mnot.net>
Date: Wed, 02 Jul 2014 13:46:27 +0800
Cc: Martin Thomson <martin.thomson@gmail.com>, "Julian F. Reschke" <julian.reschke@gmx.de>, HTTP Working Group <ietf-http-wg@w3.org>
Message-Id: <AC8B4346-6662-4F8F-B4B9-895271D6C75D@gmail.com>
References: <FABE6551-C5F1-408E-824A-BD1EF6AED121@mnot.net> <53B2598E.1050407@gmx.de> <CABkgnnXQ+b660OFYwuz1+hgNJ6Dy2ucNjB6dNTEtuDaDN_Hvgg@mail.gmail.com> <F5B31C27-8144-45BC-8722-179FA438FE24@mnot.net> <F96C625C-88E6-4670-9EC9-D15B8B32F000@gmail.com> <A052DBEE-6C6A-488D-BB93-27BA4CF8D077@mnot.net> <1E477F03-9F64-40EE-B3C2-83FB7C75C6A1@gmail.com> <1E9B1054-6B2A-4646-8EE5-8A4A98020593@mnot.net>
To: Mark Nottingham <mnot@mnot.net>
X-Mailer: Apple Mail (2.1878.6)
Received-SPF: pass client-ip=209.85.220.50; envelope-from=potswa@gmail.com; helo=mail-pa0-f50.google.com
X-W3C-Hub-Spam-Status: No, score=-2.6
X-W3C-Hub-Spam-Report: AWL=-2.382, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_SORBS_WEB=0.614, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1X2DOF-0001eN-Ns f510cc85b03b33c299ed8e781b874e2b
X-Original-To: ietf-http-wg@w3.org
Subject: Re: #536: clarify extensibility for :pseudo header fields
Archived-At: <http://www.w3.org/mid/AC8B4346-6662-4F8F-B4B9-895271D6C75D@gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/25029
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>

On 2014–07–02, at 12:37 PM, Mark Nottingham <mnot@mnot.net> wrote:

> 
> On 2 Jul 2014, at 12:48 pm, David Krauss <potswa@gmail.com> wrote:
> 
>> ALPN based specs will need to decide whether to sacrifice compatibility with HTTP/1.1 proxies. Where the sacrifice is made, we’ll still see applications choosing to forgo pseudo headers and omit the colon, effectively defining a new non-pseudo. That’s the tough choice
> 
> It's a lot more than that; if they're trying to map into HTTP semantics, they'll have to figure out how to represent the headers in existing APIs. 

Simply strip the colon. I suspect that even when the ALPN spec mentions nothing of the sort, it will be a practical workaround anyway. It’s obvious enough to warrant a specific prohibition, if you want folks not to do this.

Graceful degradation dictates that the subset of HTTP/2 usage surviving translation through HTTP/1.1 should be maximized.

I think we’re basically viewing the situation through different glasses: you’re supposing people will use the protocol as intended, and I’m supposing that people will use whatever workarounds maximize compatibility. Call it devil’s advocate.

>> Nothing in the current spec suggests they shouldn’t be accessible as headers or similar. Without some indication to the contrary, APIs will expose them simply by default, and the damage will be done.
> 
> <http://http2.github.io/http2-spec/#HttpHeaders>:
> 
> """
> Header field names that start with a colon are only valid in the HTTP/2 context. These are not HTTP header fields. Implementations MUST NOT generate header fields that start with a colon, and they MUST ignore and discard any header field that starts with a colon. In particular, header fields with names starting with a colon MUST NOT be exposed as HTTP header fields.
> “""

OK, thanks, I stand corrected. This is the rule that we are currently adjusting, and my suggestion was only the status quo.

Still, even such a prohibition against exposing as header fields doesn’t prevent “something similar.” Are general HTTP/2 APIs really going to force users to wait for support for each ALPN token, or will they allow for early adoption and customization by exposing the pseudos?

This territory sounds like it will be difficult to legislate, because competitive pressures will push the other way.