Re: HTTP/3 Preface (PRI method)

Piers O'Hanlon <piers.ohanlon@bbc.co.uk> Thu, 08 July 2021 09:39 UTC

Return-Path: <piers.ohanlon@bbc.co.uk>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8106E3A1A84; Thu, 8 Jul 2021 02:39:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.697
X-Spam-Level:
X-Spam-Status: No, score=-1.697 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail (1024-bit key) reason="fail (message has been altered)" header.d=onebbc.onmicrosoft.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 hK-FUJz947IJ; Thu, 8 Jul 2021 02:39:05 -0700 (PDT)
Received: from mailout0.telhc.bbc.co.uk (mailout0.telhc.bbc.co.uk [132.185.161.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 027443A1A85; Thu, 8 Jul 2021 02:39:04 -0700 (PDT)
Received: from BGB01XI1007.national.core.bbc.co.uk (bgb01xi1007.national.core.bbc.co.uk [10.161.14.21]) by mailout0.telhc.bbc.co.uk (8.15.2/8.15.2) with ESMTP id 1689d2Rf020145; Thu, 8 Jul 2021 10:39:02 +0100 (BST)
Received: from BGB01XH1004.national.core.bbc.co.uk (10.118.80.2) by BGB01XI1007.national.core.bbc.co.uk (10.161.14.21) with Microsoft SMTP Server (TLS) id 14.3.498.0; Thu, 8 Jul 2021 10:39:01 +0100
Received: from BGB01XH1001.national.core.bbc.co.uk (10.184.63.1) by BGB01XH1004.national.core.bbc.co.uk (10.118.80.2) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Thu, 8 Jul 2021 10:39:00 +0100
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (104.47.12.56) by BGB01XH1001.national.core.bbc.co.uk (172.22.64.1) with Microsoft SMTP Server (TLS) id 15.0.1497.18 via Frontend Transport; Thu, 8 Jul 2021 10:39:00 +0100
Received: from PR3PR01MB6746.eurprd01.prod.exchangelabs.com (2603:10a6:102:2f::12) by PR3PR01MB6252.eurprd01.prod.exchangelabs.com (2603:10a6:102:33::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.21; Thu, 8 Jul 2021 09:38:39 +0000
Received: from PR3PR01MB6746.eurprd01.prod.exchangelabs.com ([fe80::2ccc:b90c:8ba0:b530]) by PR3PR01MB6746.eurprd01.prod.exchangelabs.com ([fe80::2ccc:b90c:8ba0:b530%5]) with mapi id 15.20.4308.022; Thu, 8 Jul 2021 09:38:39 +0000
From: Piers O'Hanlon <piers.ohanlon@bbc.co.uk>
To: "ben=40yocto.nu@dmarc.ietf.org" <ben=40yocto.nu@dmarc.ietf.org>
CC: "quic@ietf.org" <quic@ietf.org>
Subject: Re: HTTP/3 Preface (PRI method)
Thread-Topic: HTTP/3 Preface (PRI method)
Thread-Index: AQHXbRqb/Nt2+4GdKk2trfs85DqyrKs439kA
Date: Thu, 08 Jul 2021 09:38:39 +0000
Message-ID: <A75BD23A-040B-44DD-B6D5-B7386ACCC474@bbc.co.uk>
References: <4723f90d822b18e3d0402b6496ac1d02@yocto.nu>
In-Reply-To: <4723f90d822b18e3d0402b6496ac1d02@yocto.nu>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dmarc.ietf.org; dkim=none (message not signed) header.d=none;dmarc.ietf.org; dmarc=none action=none header.from=bbc.co.uk;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 1b37c279-5bca-44b0-eeba-08d941f42a8b
x-ms-traffictypediagnostic: PR3PR01MB6252:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <PR3PR01MB6252565AABB82430B0F5517DBD199@PR3PR01MB6252.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: DI2bJMmEllsLGcXk8bR5no/3Ogn9WZxCUdDY0ljYokzz0LOr41xQ7cjGcA+gmMFUGkFgGsb/cEx9UzDHJ6q17LcElUNYf21s3UHqJsk+nPRqXAy/0SLTiEVGOTt15+uDIMeZzZ6zXWId+NYZZd+Zc47jIP+IhBVu0kR6xGJDfq7gkK/G9xrAnh42oqMbZjgP/q9nCPW0/dbcu5w8Hx4p8Yf8GFl3BaeRMat4ud23vXagIGsPGIZxMR8YlTyCcjO+YXyrk3GjZszQwA2bphTWYDOFpGGNDuIrBdab0/s6Y2ddfnP+jbuY4R61M+in4hY9LE9EKs8NrsX9k+ksurmT4G8JyDSqDJVIVjDoH42rYGjW/9vs6kMbO5++OXlz0cY4gObtJQHsq6A2urTRL8XuNY1oXfFK+3/acW4NM5e5SB9LWuQ5a+qL3EU+eNtonCL/lWwqqERgtwpVuJ5Yvq5QFztIfMVih+Iai52Ns4Jb8Kd+/gYnarY/fHf6ig4TKhFpg1skrtpX9hYz1CeYHAQsJgXzoCP+d/hniEjDqRh4b18jZdHtl88xFgPYr6VQ3nwI3e1hQyoua23oFINl0tpxuGU0GNxjB3OmTq8vPkWPcWvnJbX10CWnaHz48TsnmGklGOmxSe+36ULui+f+Yn7CZ3ouTDZ5TNvdb3/os10MO3nYQXXKFsFkMHHxrdego0DGhpTa9loD6gzlgr81N32bg4moPxpF4LFlRDCBsZDKtcHyZMbXlgYN42NevAwhGl7lpDj2VmH+6PEnDu98iQvD4HTIej2KqshSiNAiSeMELO3j6fqDmTomcEniBdoly/Zv
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PR3PR01MB6746.eurprd01.prod.exchangelabs.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(346002)(376002)(366004)(396003)(39860400002)(34552001)(8676002)(2906002)(186003)(8936002)(86362001)(71200400001)(53546011)(33656002)(6486002)(6512007)(6506007)(966005)(316002)(4326008)(83380400001)(478600001)(66946007)(66476007)(91956017)(76116006)(66446008)(66556008)(2616005)(64756008)(122000001)(38100700002)(36756003)(5660300002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: cbpVMN/WMAQEccuF83ktVvrY+UmcXbTrZVz+SzpA1znbiyiPTFy9YqqGG4K3Ouiq/h36r0V8EOet1qCjOUgqKkt5VvZcGcXGznzAGnFFoXW24eGXACrqq5EzxQNrWFaBLoG3hslNqZafeEVx9353Vz9L5JoBTgl3Mof/nmNvHopdVZbkMeukRZuWSRPeNgjUK1YiNt+JbJA2qmHJyqAvFJBAXv6OAg9mqqV69gP9Yc6zdb1GON6chZVKrY17QqlzbqlqI8W+YAxH9yie2zZa2Qms0E1DxNTiDx2dZvavWmFz8lTaJUvGRjAWtuBcLA7mn5nP3tuYYur3mEx8cnYVJHdmiT//kRczMImOnI80fKCOEDRRlvpGrRa2geaH0bbQw9Z3d/fMqOjBAVxa9ZYnVF1/8sy/u1dvQVCk1vt/YIKUgBcvlELMlJfTY9XfYHP3Wq4CMfj+TIx25zNbbNiRd6yqlu3X3tczXPQ8+ExP3JvI1iWCQyJcHHVw0maqHZ4jfQzlHWge3Sy92Gud++JFj0YfCQVlntZcTzceslTTo+UTImib2oZNy/l18QGAmM98udPKc90SmK2FcR+565yhKeJGvfK9PFafmmxH7Fx2wQAhhBTQvS9V5CyVPo6qnZQoCjyUB3g8Vvw9qyADvvV3eowZpTwZc4l7moej+TUMw9jIwEfcP/82jUipVRSpar0ZO3dCSJUFTetUWRTmtjDEre72TvflMacq2y1FLi75CeZ01QOFTgtIImL5WdI4UP3A8JoDRYTvYVpmJuVXrYie0X/jrrfcLxiTT1ln293lWHoEjvlWZ7GGuBEjuwLgYqcK4xxse2quKyRR8zKAd4Jwg5RW/4FXhj+TUPA1yP/2W9JMrEYhIRhBhbFX6kjgn3U8fLIm501+CrWCRk252CDo2EHIXmm8969tCG+azcCqn8Hzq/lo3RIFdWVEFKhYIPRTGChvGL6pPIkvrEuGBsqjfoZc2jM/CeYbNMTTO4zzzrdFDwjyExyeKmiWX6iOJnb81ABwc0/HSICWA9skeym9fFekdEhXE2sDd/uZfqbDM7Be2G7Qx+tkQZhPv2sj1p7xi7qgaXFuJg8CI3c7guDjtHyripDNZRMLD+KURtQeUnDQTFG5BodFGtVdcRqxYA+ukenyrpSIfCnqxMy75UsdkjvIYvq61poPUxV+8E2mAm1mpw7Al7pKJlDPuhrhGoxkgukaQYqW4aZpFQRbMrAjB3un8vSFIZBlovc09eJDCN4YvfrIG9JNtryk4vG7C+wE+4I5jVkldjaHMkfk3yOLZ4jJm2tXpVeeGtO968GPhsvPNlP0DCR0+i7VaG5YtbQSXY+FwD6I+RAp72VKxKKpERza6DrN9Z4NHCzOo9CKc4uZP4LBsHQY6DEK2CQzAYAM83mADBDm3RrW1KIxgXVIjA==
arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BhVSWRkNC93+Lfv0NXLyR2URzKi+2w1+KsrIgb6sq5+gkNmzSncaxWzZVWXQbn+a9nogTJDS4eAIZ8vrpUSPpMg7V/QJeDn2kNhYKb56QoUXGm1G+kskcpa+auoSjCqtB9JvXEc7JPeHv3kaO7DAYUnpWfR5hQ+WAuPZvy1bkfLClqDO59x2x7dUj6iib4yDX/XNAHg4rK06XhjXI717iF94dKtUXZtz3SP4YZIwUyWzE2/P4UEPUswDkhXPhrzfPM9biFUj8a3vI9TshidPnMI+UJClFLHR0kxLo7Ve0RljU1YvjEMhJvNFbun0jb4bkyY8B0sPatB7GYRnxNbv5Q==
arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/MsiNKGH3qvfDL9x7x0LIsVyA0FpRL+rRdxS0e9HjUI=; b=k0MBkYIyOEJZU7dsTOs02BnUAWdN6XqD/y+LUeK6S2ko1seyYoDO7XBDOq4oFt+xvrn+l41hD+kLLTEB5veAe/ikWeT/L31thDyzfYkiM08CMqW9mYyFKKyqC9zk+0Wjg+T7C346vUZyZvdhEV/skuq9F45xUShADEhOHuRSYBE1MKRQGbqXqSSjSoHXbTZKsVsl/SRQGo64TUdRrsT0kX3qfA0QMAwap2PTFd8ySWJg+gT9YZsDDXcg7SltAFubB5TPNfPnJpy4X1yKYUU1j3Z+ZQtwPUDV9CV6jTL8oKreoGuTYQOqO45ZeuNkmcU4g2I0TMpyYUAQxnUV6aI1hg==
arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bbc.co.uk; dmarc=pass action=none header.from=bbc.co.uk; dkim=pass header.d=bbc.co.uk; arc=none
dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=onebbc.onmicrosoft.com; s=selector2-onebbc-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/MsiNKGH3qvfDL9x7x0LIsVyA0FpRL+rRdxS0e9HjUI=; b=cLmhjr+9QPVrV6SK0b3ijmCNODRolikhCGPG+TuL6RBAVzLcuq6BybRXeP8FNf9SoI/iewOTt9lUBQkxIepN4VC71I3t6iX6c4xr892C71DYPz+spJB1GK2yF5+XD1/1U9y4MG9Ju9w2Q/H7FO+GfZx2E/aNamNDiqYvyHaFeus=
x-ms-exchange-crosstenant-authas: Internal
x-ms-exchange-crosstenant-authsource: PR3PR01MB6746.eurprd01.prod.exchangelabs.com
x-ms-exchange-crosstenant-network-message-id: 1b37c279-5bca-44b0-eeba-08d941f42a8b
x-ms-exchange-crosstenant-originalarrivaltime: 08 Jul 2021 09:38:39.0339 (UTC)
x-ms-exchange-crosstenant-fromentityheader: Hosted
x-ms-exchange-crosstenant-id: 0e587133-568e-44d6-801d-2266bc52e5cf
x-ms-exchange-crosstenant-mailboxtype: HOSTED
x-ms-exchange-crosstenant-userprincipalname: dI/tzA1+flGxumuVIl+A9klyIA5eWkrIyvPsC9/WpeXvh2yTDhADqHhxhA9rBvyFZf0blso/63YdiePCB5EYqQ==
x-ms-exchange-transport-crosstenantheadersstamped: PR3PR01MB6252
Content-Type: text/plain; charset="utf-8"
Content-ID: <4F7AFD0D3677504FBF5E7B053A15FDEF@eurprd01.prod.exchangelabs.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: bbc.co.uk
X-EXCLAIMER-MD-CONFIG: c91d45b2-6e10-4209-9543-d9970fac71b7
X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.6.1018-24054.007
X-TM-AS-Result: No-14.641900-8.000000-10
X-TMASE-MatchedRID: u7Yf2n7Ca/3+rCF+A3NH6djGRkLinPFIpfVcx39Kq+7IOi8hGLH+7YjA +sAfyIsyySCUN5zqqGtkKf5GiWmg434dAQcikhqTtT4jIeGRd/VDGFvBeB2nXJ88hNCSIZ8ig/5 gNr8OG71t2NHF//nyAEHswy4FPqqEwDU3NFKQew740JAO63QrhTVPM/rRSR0d7lqdqvluo2539f 9fxq2qS3wPatz/LjkSW8ym7hMc8E5OcNR3zaWyOLMjW/sniEQKmX+W7bzPOQFQTWaasNJff57Gq ngnYzkMRLov6M6qJBJJoFXIuzqlweVHGbcDbAq60gVVXNgaM0pZDL1gLmoa/PoA9r2LThYYKrau Xd3MZDWXf5sC39gVVEy1Zu7Gry7QoPGWy/hYtjBvexPJg036nCvOyTiHLA+WS4W/MRhJ1X4=
X-TM-AS-User-Approved-Sender: Yes
X-TM-AS-User-Blocked-Sender: No
X-TMASE-Result: 10--14.641900-8.000000
X-TMASE-Version: SMEX-12.5.0.1300-8.6.1018-24054.007
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/aDLKsvk4apU6uT0yGV2f4r-awL8>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Jul 2021 09:39:10 -0000

Hi Ben,

It is also being proposed (and implemented by a number of organisations including Apple see: https://github.com/MikeBishop/dns-alt-svc/blob/master/svcb-implementations.md) that the ALPN (and IP address(es)) may be obtained via the new proposed “HTTPS”  DNS resource record request:
https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-svcb-https

Using this approach one can in principle pre-empt a “preface”, though clients would need to handle a potential discrepancy.

Best,

Piers O'Hanlon

> On 29 Jun 2021, at 20:10, ben=40yocto.nu@dmarc.ietf.org wrote:
>
> Hello all,
>
> When reading about QUIC, it comes to me as a better alternative of TCP, build upon UDP.
> In this case, servers that run on TCP could easily also run on UDP/QUIC; think about DNS, SMTP, FTP.
>
> Now there is also a new version of HTTP. HTTP/3. This version will be transfered over QUIC by default.
> However, as I mentioned above, it could be possible to have "TCP protocols" that use QUIC too.
> That makes me think about also transfering some old HTTP versions, for example HTTP/0.9 (I came across a library that transfered HTTP/0.9 over QUIC).
> But also HTTP/1.0, HTTP/1.1 and HTTP/2 are possible.
>
> All older HTTP versions send the following request line: <METHOD> <PATH> [VERSION] \n
> If an endpoint is directly accessed (without some negotiation), it will find out the version directly by reading the first line.
> For 0.9 the version will be absent. For 2.0 this will be a preface with a PRI method and * as path.
>
> When I think about running a HTTP server, I think about this:
>
> TCP (80) or TCP/SSL (443):
> - HTTP/0.9
> - HTTP/1.0
> - HTTP/1.1
> - HTTP/2.0
> - HTTP/3.0 (I think this is possible too)
>
> UDP/QUIC:
> - HTTP/0.9 (HTTP/0.9 but over QUIC)
> - HTTP/1.0 (HTTP/1.0 but over QUIC)
> - HTTP/1.1 (HTTP/1.1 but over QUIC)
> - HTTP/2.0 (HTTP/2.0 but over QUIC)
> - HTTP/3.0 (Default)
>
> However, if I listen for all versions on my HTTP-QUIC server, how am I supposed to know that it is HTTP/3? Does HTTP/3 has a preface? And if not, why not?
> I think the preface of HTTP/2 is great and I think it would be great in HTTP/3 too: PRI * HTTP/3.0
>
> I would like to see a preface added to HTTP/3.0. It is only 18 extra bytes at the beginning of the request. It could be ignored by some servers if they want, but for servers that want to have backwards compatibility it would be a great feature. (Luckily HTTP/3 is not a released standard yet.)
>
> Ben
>