RE: [Technical Errata Reported] RFC7540 (4663)

Mike Bishop <Michael.Bishop@microsoft.com> Tue, 12 April 2016 20:25 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 9CC7B12D969 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 12 Apr 2016 13:25:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.017
X-Spam-Level:
X-Spam-Status: No, score=-8.017 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, RP_MATCHES_RCVD=-0.996, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.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 GLEcXkwu-rrV for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 12 Apr 2016 13:25:43 -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 4BC8A12D8CE for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 12 Apr 2016 13:25:43 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1aq4mu-0000gu-0U for ietf-http-wg-dist@listhub.w3.org; Tue, 12 Apr 2016 20:19:52 +0000
Resent-Date: Tue, 12 Apr 2016 20:19:52 +0000
Resent-Message-Id: <E1aq4mu-0000gu-0U@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <Michael.Bishop@microsoft.com>) id 1aq4mn-0000g7-MW for ietf-http-wg@listhub.w3.org; Tue, 12 Apr 2016 20:19:45 +0000
Received: from mail-bl2on0112.outbound.protection.outlook.com ([65.55.169.112] helo=na01-bl2-obe.outbound.protection.outlook.com) by maggie.w3.org with esmtps (TLS1.2:RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from <Michael.Bishop@microsoft.com>) id 1aq4ml-0004f7-DV for ietf-http-wg@w3.org; Tue, 12 Apr 2016 20:19:45 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=e48CtWEfewSOV8Ov9CsaGEgtgawIqZ0QrQfKG4PMMTY=; b=jTfF3e51szReGOR6ni+UhxxafK4v47ae7Dk6jW7bbA1ZsNTrAK5WF+7BNy4rX4FucqnBCFhyzHhjcdP/bSvTKmuAp0MtRQXhy7IhAaWjkD0StivcL1BmjyCqETojyGiUBo8zN+YDhGKnHOkdFyth/TfQ7o2Jv50HyVMCIRlud0I=
Received: from CH1PR03MB1916.namprd03.prod.outlook.com (10.164.115.156) by CH1PR03MB1916.namprd03.prod.outlook.com (10.164.115.156) with Microsoft SMTP Server (TLS) id 15.1.453.26; Tue, 12 Apr 2016 20:19:14 +0000
Received: from CH1PR03MB1916.namprd03.prod.outlook.com ([10.164.115.156]) by CH1PR03MB1916.namprd03.prod.outlook.com ([10.164.115.156]) with mapi id 15.01.0453.029; Tue, 12 Apr 2016 20:19:14 +0000
From: Mike Bishop <Michael.Bishop@microsoft.com>
To: Barry Leiba <barryleiba@computer.org>, "d.stussy@yahoo.com" <d.stussy@yahoo.com>
CC: RFC Errata System <rfc-editor@rfc-editor.org>, Mark Nottingham <mnot@mnot.net>, Mike Belshe <mike@belshe.com>, Roberto Peon <fenix@google.com>, Martin Thomson <martin.thomson@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
Thread-Topic: [Technical Errata Reported] RFC7540 (4663)
Thread-Index: AQHRlONU3gaPWH5Y/Eaf1WobUvXnkp+GwXhQ
Date: Tue, 12 Apr 2016 20:19:14 +0000
Message-ID: <CH1PR03MB191601BFB22A83DDF9E226F187950@CH1PR03MB1916.namprd03.prod.outlook.com>
References: <1850632562.1878327.1460481113693.JavaMail.yahoo.ref@mail.yahoo.com> <1850632562.1878327.1460481113693.JavaMail.yahoo@mail.yahoo.com> <CALaySJKUNcRf=8y-uT6xT3W50hvmgj_ujhDE6a46Ht39xtEe-A@mail.gmail.com>
In-Reply-To: <CALaySJKUNcRf=8y-uT6xT3W50hvmgj_ujhDE6a46Ht39xtEe-A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: computer.org; dkim=none (message not signed) header.d=none; computer.org; dmarc=none action=none header.from=microsoft.com;
x-originating-ip: [2001:4898:80e8:d::34b]
x-ms-office365-filtering-correlation-id: d79165f3-4f75-4798-73e0-08d3630fb779
x-microsoft-exchange-diagnostics: 1; CH1PR03MB1916; 5:99/OWG4cdPXBnmlxqGGp+KdY6mhwAn1i6wYqGwxCsqiqAhBrSj9KXPaa91yp/abo4fX5KE7/GG61o2UR3FNsxkKYjySRxcAETvDIKKD5JxEnMO/SPvsd/a53gZdXYsGjp73okptAwqJ8iQEZFgrADw==; 24:sBvZZKJOqvPyRNhyQg0GeGUGCnr6mWKy2J5FuNmRgpfa9JsU3ji+JMEqy2fSzzhSIApn60CgD3NUw6evPXgPIJQYPUNeLUDsB98DaR6Reo8=
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CH1PR03MB1916;
x-microsoft-antispam-prvs: <CH1PR03MB1916A5EC9FA67586BBAC963587950@CH1PR03MB1916.namprd03.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:;
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(61425038)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(61426038)(61427038); SRVR:CH1PR03MB1916; BCL:0; PCL:0; RULEID:; SRVR:CH1PR03MB1916;
x-forefront-prvs: 0910AAF391
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(377454003)(24454002)(13464003)(10090500001)(5004730100002)(19580405001)(54356999)(76176999)(50986999)(19580395003)(86612001)(76576001)(2501003)(122556002)(86362001)(5003600100002)(5002640100001)(5008740100001)(33656002)(4326007)(2521001)(15188155005)(6116002)(3660700001)(2950100001)(5005710100001)(102836003)(5001770100001)(10400500002)(10290500002)(586003)(3280700002)(2906002)(9686002)(1220700001)(106116001)(74316001)(1096002)(15975445007)(77096005)(87936001)(11100500001)(189998001)(92566002)(16799955002)(81166005)(99286002)(3826002); DIR:OUT; SFP:1102; SCL:1; SRVR:CH1PR03MB1916; H:CH1PR03MB1916.namprd03.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en;
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Apr 2016 20:19:14.0877 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH1PR03MB1916
Received-SPF: pass client-ip=65.55.169.112; envelope-from=Michael.Bishop@microsoft.com; helo=na01-bl2-obe.outbound.protection.outlook.com
X-W3C-Hub-Spam-Status: No, score=-3.9
X-W3C-Hub-Spam-Report: AWL=-2.402, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_NW=0.5
X-W3C-Scan-Sig: maggie.w3.org 1aq4ml-0004f7-DV 0c93ca3f0116f6f3a8ba9ea687e7aca7
X-Original-To: ietf-http-wg@w3.org
Subject: RE: [Technical Errata Reported] RFC7540 (4663)
Archived-At: <http://www.w3.org/mid/CH1PR03MB191601BFB22A83DDF9E226F187950@CH1PR03MB1916.namprd03.prod.outlook.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/31428
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>

Intent:  The explicit change from 2.0 to 2 between drafts -09 and -10.  Yes, there was a deliberate choice to make the change throughout the document.  Was this described in detail in the final document, along with reasoning?  No.  Perhaps it would have been worth a mention, but it wasn't.  It's still an explicit change.  The connection preamble is intended to look somewhat like HTTP/1.1 with a new version number, but not be valid, so that inspecting servers will fail quickly if they're going to.  The PRI method is reserved in HTTP/1.1 for the same reason, to ensure that the preamble will never look like a valid HTTP/1.1 request.

Did we think about the fact that an Informational RFC had taken a dependency on how things were in HTTP/1.1?  We discussed the possibility that software out there would have, but not that RFC specifically.  HTTP/2 needs to be compatible with prior Standards, but see RFC 1796.

But while we're talking about RFC 3875, it says "Here, 'protocol' defines the syntax of some of the information passing between the server and the script (the 'protocol-specific' features)." and "This MAY differ from the protocol version used by the server in its communication with the client."  So unless the *script* supports a newer version of HTTP (and therefore will understand whatever string is used to express it), it might be most cautious for the server and the script to continue communicating over HTTP/1.1 regardless of the version being used to communicate with the client.  However, that's a decision for individual implementations, not a standards document decision. 

-----Original Message-----
From: barryleiba@gmail.com [mailto:barryleiba@gmail.com] On Behalf Of Barry Leiba
Sent: Tuesday, April 12, 2016 10:47 AM
To: d.stussy@yahoo.com
Cc: RFC Errata System <rfc-editor@rfc-editor.org>; Mark Nottingham <mnot@mnot.net>; Mike Belshe <mike@belshe.com>; Roberto Peon <fenix@google.com>; Martin Thomson <martin.thomson@gmail.com>; HTTP Working Group <ietf-http-wg@w3.org>
Subject: Re: [Technical Errata Reported] RFC7540 (4663)

I don't understand how it breaks anything: when you use HTTP/1.1, you have the minor version.  When you use HTTP/2, you're using a server that understands HTTP/2 and knows what to expect.  Please explain where the problem occurs.

Barry

On Tue, Apr 12, 2016 at 1:11 PM,  <d.stussy@yahoo.com> wrote:
> If there were a deliberate choice to omit the "minor" version number, such needs to be stated in the RFC.  Such a choice is actually omitted, and thus I see no such intent.  What results at best is a conflict between two RFC's, and at least, an implementation error by the group which authored the HTTP/2 library I cited, which is in turn adopted by Apache, the most common HTTP server software used on the Internet (per the Netcraft survey).  I raised this as an error because I do not believe that it was the intent of this RFC to break an earlier RFC with which it claims backward compatibility in the majority of HTTP servers on the Internet.
>
> --------------------------------------------
> On Tue, 4/12/16, Mark Nottingham <mnot@mnot.net> wrote:
>
>  Subject: Re: [Technical Errata Reported] RFC7540 (4663)
>  To: "RFC Errata System" <rfc-editor@rfc-editor.org>
>  Cc: "Mike Belshe" <mike@belshe.com>, fenix@google.com, "Martin 
> Thomson" <martin.thomson@gmail.com>, barryleiba@computer.org, 
> d.stussy@yahoo.com, ietf-http-wg@w3.org
>  Date: Tuesday, April 12, 2016, 12:31 AM
>
>  REJECT; HTTP is not
>  defined by the CGI specification, and the WG made a  conscious choice 
> to omit the minor version number.
>
>  Updating the CGI specification
>  is more appropriate (although an errata may not be the best  way to 
> do it for that spec either).
>
>  Cheers,
>
>
>  >
>  On 12 Apr 2016, at 5:19 PM, RFC Errata System 
> <rfc-editor@rfc-editor.org>
>  wrote:
>  >
>  > The
>  following errata report has been submitted for RFC7540,  > "Hypertext 
> Transfer Protocol Version
>  2 (HTTP/2)".
>  >
>  >
>  --------------------------------------
>  >
>  You may review the report below and at:
>  >
>  http://www.rfc-editor.org/errata_search.php?rfc=7540&eid=4663
>  >
>  >
>  --------------------------------------
>  >
>  Type: Technical
>  > Reported by: D. Stussy
>  <d.stussy@yahoo.com>
>  >
>  > Section: 8 omits
>  >
>  > Original Text
>  > -------------
>  >
>  [Note:  RFC 3875, section 4.1.16, defines the protocol  version as:
>  >
>  >
>  HTTP-Version = "HTTP" "/" 1*digit
>  "." 1*digit
>  >
>  > Nothing in RFC 7540 redefines this.]  >  > Corrected Text  > 
> --------------  > Add  paragraph at end of section 8 (before 8.1) -
>  Clarification:
>  >
>  >
>  HTTP/2 preserves the format of the SERVER_PROTOCOL CGI  variable,  > 
> both in the CGI interface and  for any server logging purposes.  Where  
> > a version string is necessary, it is  "HTTP/2.0" as defined by RFC 
> 3875.
>  >
>  > Notes
>  > -----
>  > Compatibility
>  is required with a prior published RFC, or a specific change  
> superseding the prior RFC need be explicitly stated.  This  RFC states 
> in its abstract:
>  >
>  > "This specification is an alternative  to, but does not obsolete, 
> the HTTP/1.1 message syntax.
>  HTTP's existing semantics remain unchanged"
>  >
>  > RFC 7540, section
>  3.5's connection preface string containing  "HTTP/2.0" implies that 
> the RFC authors should  have forseen this issue, and added a paragraph 
> to section 8  to explicitly state no change in the CGI interface 
> variable  SERVER_PROTOCOL was desired.  At least one implementation  
> is using a version string of "HTTP/2", not  "HTTP/2.0", because of how 
> it is referred in this  RFC. ("nghttp2.org" has incorrectly 
> implemented  this in its library routines.)  >  > Instructions:
>  >
>  -------------
>  > This erratum is currently
>  posted as "Reported". If necessary, please  > use "Reply All" to 
> discuss  whether it should be verified or  >  rejected. When a 
> decision is reached, the verifying party
>  (IESG)
>  > can log in to change the status
>  and edit the report, if necessary.
>  >
>  > --------------------------------------
>  > RFC7540 (draft-ietf-httpbis-http2-17)  > 
> --------------------------------------
>  > Title               :
>  Hypertext Transfer Protocol Version 2 (HTTP/2)
>  > Publication Date    : May 2015
>  > Author(s)           : M.
>  Belshe, R. Peon, M. Thomson, Ed.
>  >
>  Category            : PROPOSED STANDARD
>  > Source              : Hypertext
>  Transfer Protocol Bis APP
>  > Area
>            : Applications
>  > Stream
>              : IETF
>  > Verifying
>  Party     : IESG
>  >
>
>  --
>  Mark
>  Nottingham   https://www.mnot.net/
>
>
>