[netconf] Re: Francesca Palombini's Discuss on draft-ietf-netconf-http-client-server-23: (with DISCUSS)
Mahesh Jethanandani <mjethanandani@gmail.com> Wed, 11 September 2024 20:28 UTC
Return-Path: <mjethanandani@gmail.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0F534C180B55; Wed, 11 Sep 2024 13:28:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Bi3TKRJfeJaO; Wed, 11 Sep 2024 13:27:58 -0700 (PDT)
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CF868C16941B; Wed, 11 Sep 2024 13:27:58 -0700 (PDT)
Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-1fc47abc040so2989495ad.0; Wed, 11 Sep 2024 13:27:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726086478; x=1726691278; darn=ietf.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=UyxRFvvmPoE46Du8xv3jrLg/QD5r4SNIiVVGFyVb7qA=; b=JkLcUSQp+F4RAF6tBg/NaBVvNSia7DEwAvojc0Cl7hnUob74c4X5p5+FZ1FuZMKH0s uFfcvTyJAB+UbZFKSv22dOMxthpbB7EO+TfTdz/0o9mSAkuOlEZWj7Aizn2bCm+jk9Ta Lk4pDSzFNAoeuYXJ7XliXgYrPzF3I3MXjMexq+jXVBC0xngWUElhmWxXQtvGgbCJ2CC2 rZODNV8wvsRD3+QZWDbgH+89kD79nALrDXHk9TyiatDhJgJu/5CZazmIulA89BWLZf/T kWVCnUyk8j3M9TXkqXIJDlTA//ADJYKrlcmwJOz+dIAUy11rgtSdTfw7Iu6T3vKRN3i5 eUKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726086478; x=1726691278; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=UyxRFvvmPoE46Du8xv3jrLg/QD5r4SNIiVVGFyVb7qA=; b=Fg3VMhxaViMMzm0O2CD8Zd+6/P3bIAyWsAc+57TxixlzGuXjpI7m2/JuGRc6uESL74 urlcUaxF1G7jdqmsN3F7MSsEFbGJUO21AGZ009uzihLwGKEzKFFFjPTTTgGhKJTFVpZW ytKm78z7hVgcnT2th7+M5XbPH/JH9KpKlu7waJk26vTksNXC0+MsQrERTAHUaNuuIppU ozWm9eTTelv1j50PRe6t6n8YR42h8pwYh7JKajy5vUpw+L0NvZlU9bv0OCOJdQc2L/yb Q4BZnX246SXvuc5zG0FXd6SFMCCOx33cKUGFKw0dCh9lRbdrdDLrHzxc7KmfqJEV0Iqc KnLA==
X-Forwarded-Encrypted: i=1; AJvYcCUOqw1AsHdCbz1wLSiKeKX+AfziPMJU7EfGxf0a421Hy4zt828B82M9BNaZANhA5cxryYxfng==@ietf.org, AJvYcCVcLhOe86QcHHtgbHi5K7Hzvr+o/puqPTb4TtbzD68GbIhq3MX0anqN9T3dj2zuPXaGZSXZH1bqzkeJIcXqnsw=@ietf.org, AJvYcCX79bgzfKLPrec5oU/y2lwLYZfnNWnY5khygXLk9croFQjZ4oQxwS27sxt3J1ssaddMXGgdEAZnTukxWQVS0ymAqDICRf48wR9wkcDclXwp2nuKFCLu@ietf.org, AJvYcCXFGzZOwOJbcn/89eKFb908d3q+9Qve2vsmAE1YGDSMl0br7Qmh0q5VrfK7nKUmzW7okxBK3/OM+A==@ietf.org
X-Gm-Message-State: AOJu0YzgH27FRatkOKAcOwQ4d/2Z4pMAX/AKSGrjO57rFXSds0jG1yUD eWn5CaykkAQxS089pWZ9QABNuAEmQV4ur1QXWhyWh64v2E2eUEKupb5YJ+Dq
X-Google-Smtp-Source: AGHT+IELOnSIFjJl97hvYKFj8Eqlz2nD3exjtw/B/2PMxZtxuWr1gAFeSvv4lJzxgyf6z1D8tEVFLQ==
X-Received: by 2002:a17:902:d586:b0:205:5bc9:37fb with SMTP id d9443c01a7336-2076e478fe9mr6806465ad.61.1726086478012; Wed, 11 Sep 2024 13:27:58 -0700 (PDT)
Received: from smtpclient.apple ([70.234.233.187]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2076afe9cacsm3291525ad.196.2024.09.11.13.27.54 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Sep 2024 13:27:57 -0700 (PDT)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Message-Id: <B1FCA958-C784-4995-95E3-4B6775B3E198@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_2BC155E1-9FE4-4C07-9E40-933E739030B4"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\))
Date: Wed, 11 Sep 2024 13:27:51 -0700
In-Reply-To: <ABDB4C56-8A51-4FCC-B4B5-D6F80118D3E9@mnot.net>
To: Mark Nottingham <mnot@mnot.net>
References: <172416794310.2072814.8838102958915521258@dt-datatracker-6df4c9dcf5-t2x2k> <01000191716a91f5-134569c8-7097-4beb-a83c-1e533c72cb92-000000@email.amazonses.com> <B930CFB9-0827-4A04-B3DE-103253048DE1@mnot.net> <010001917276c9a9-61d073c7-2edc-4fb6-8397-6bf11b2cf243-000000@email.amazonses.com> <DC395793-7357-45E3-BF94-E99280A66C0C@mnot.net> <010001917365fcca-e582458e-7aa7-4c46-bf31-fbcbccefb210-000000@email.amazonses.com> <BBA38183-A666-4CCF-BB89-D552B7BC6B44@gmail.com> <ABDB4C56-8A51-4FCC-B4B5-D6F80118D3E9@mnot.net>
X-Mailer: Apple Mail (2.3654.120.0.1.15)
Message-ID-Hash: SSLZJP3J46KBNQ6KEV2VZQKLNQAKYXKS
X-Message-ID-Hash: SSLZJP3J46KBNQ6KEV2VZQKLNQAKYXKS
X-MailFrom: mjethanandani@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-netconf.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Francesca Palombini <francesca.palombini@ericsson.com>, The IESG <iesg@ietf.org>, draft-ietf-netconf-http-client-server@ietf.org, NETCONF WG Chairs <netconf-chairs@ietf.org>, NETCONF WG <netconf@ietf.org>, Kent Watsen <kent+ietf@watsen.net>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [netconf] Re: Francesca Palombini's Discuss on draft-ietf-netconf-http-client-server-23: (with DISCUSS)
List-Id: NETCONF WG list <netconf.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/90UrmTK1Rp1XASBR_VFQQQ7_N60>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Owner: <mailto:netconf-owner@ietf.org>
List-Post: <mailto:netconf@ietf.org>
List-Subscribe: <mailto:netconf-join@ietf.org>
List-Unsubscribe: <mailto:netconf-leave@ietf.org>
Hi Mark, Thanks for the suggestion. > On Aug 28, 2024, at 6:22 PM, Mark Nottingham <mnot@mnot.net> wrote: > > It doesn't. > > Concretely, I suggest - > > * In the Abstract, remove "Support is provided for HTTP/1.1, HTTP/2, and HTTP/3." > * Remove protocol-versions from http-client-common-grouping Apparently, the question of the impact of client choosing a HTTP version is still not clear. I am specifically referring to this exchange between you and Kent. >>>> No; I'm only attempting to make sure that your specification doesn't actively harm the HTTP ecosystem. >>> >>> >>> Good - and thank you! >>> >>> >>>> Constraining the available versions is one way that can happen. >>> >>> Can you provide a scenario where the client being configured to use specific versions harms the HTTP ecosystem? It would help for Kent to document in the draft why choosing a particular version of HTTP in this particular case is a bad idea. Thanks. > > Also, I noticed that the Abstract says: > >> It is intended that these groupings will be used to help define the configuration for simple HTTP-based protocols (not for complete web servers or browsers). > > If this is indeed intended to be a configuration mechanism for HTTP-based protocols, that would seem to be more in-scope with the HTTPAPI WG - has any coordination been done with them? In particular, the relationship to OpenAPI <https://swagger.io/specification/> should be considered, as it has considerable adoption and overlaps this use case. > > Cheers, > > > >> On 27 Aug 2024, at 10:54 AM, Mahesh Jethanandani <mjethanandani@gmail.com> wrote: >> >> Hi Mark, >> >> Francesca’s DISCUSS, which is a proxy for your HTTPDIR review was discussed in the telechat last Thursday. I am following up to find out if Kent’s reply below addresses your concerns or not. If my understanding is correct, the main sticking point is the client trying to specify a HTTP version it wants to use, and its possible impact on the HTTP ecosystem. >> >> Let us know. Thanks. >> >>> On Aug 20, 2024, at 10:25 PM, Kent Watsen <kent+ietf@watsen.net> wrote: >>> >>>>> Negotiating version at runtime (startup handshake) is common practice. The way it usually goes is that the client has a list of what it allows, and the server has a list of what it supports, and the latest/newest common version is selected. This is how it works in HTTP also, yes? >>>> >>>> No. See: >>>> >>>> https://httpwg.org/specs/rfc9112.html#http.version >>>> https://httpwg.org/specs/rfc9113.html#starting >>>> https://httpwg.org/specs/rfc9114.html#discovery >>> >>> Fine, but your point is only made because HTTP keeps changing its transport ;) >>> >>> Assuming HTTP/4 stays with QUIC, then RFC 7301, Section 1 says: >>> >>> With ALPN, the client sends the list of supported application >>> protocols as part of the TLS ClientHello message. The server >>> chooses a protocol and sends the selected protocol as part of >>> the TLS ServerHello message. >>> >>> >>> In such a case, the client’s ALPN list would be [h3, h4], and the server returns one or the other, depending on what it supports, which is effectively what I wrote. >>> >>> I also note that RFC 9114 Section 3.1 says: >>> >>> A client MAY attempt access to a resource with an "https" URI by >>> resolving the host identifier to an IP address, establishing a >>> QUIC connection to that address on the indicated port (including >>> validation of the server certificate as described above), and >>> sending an HTTP/3 request message targeting the URI to the server >>> over that secured connection. >>> >>> This optimization is possible if the client knows it only wants QUIC-based HTTP. This is faster than first establishing an HTTP/2 connection and switching after receiving the "alt-svc” header. This is also faster than the client optimistically switching after receiving a "TCP RST”, assuming the server isn't listening on tcp/443. >>> >>> >>>>> Let’s say there exists an HTTP-client that requires multiplexing, so it requires at least HTTP/2. But it connects to a server that only supports HTTP/1.1. IMO the negotiation should fail, letting the HTTP-client to try another server. Isn’t this proper? >>>> >>>> A "HTTP-client that requires multiplexing" (i.e., an application using HTTP that wants to multiplex) can use multiple HTTP/1 connections, or HTTP/2, or HTTP/3, or... >>> >>> It was just an example. The general point is that each HTTP version comes with a set of features (e.g., scalability, performance, security, etc.) and a client may require a specific feature-set. >>> >>> >>>>> The configuration -23 regards setting the client’s "list of what it allows". It can be a list of versions, or the special wildcard value “any”. It is expected that this “list of versions" will feed into the negotiation. IDK, maybe you thought that the draft was always setting the client to a single version? >>>> >>>> No; I'm only attempting to make sure that your specification doesn't actively harm the HTTP ecosystem. >>> >>> >>> Good - and thank you! >>> >>> >>>> Constraining the available versions is one way that can happen. >>> >>> Can you provide a scenario where the client being configured to use specific versions harms the HTTP ecosystem? >>> >>> >>>> I continue to be concerned that you're defining a configuration language for HTTP without a strong understanding of the protocol's core concepts or common implementation patterns. >>> >>> It could also be that you don’t appreciate that, by nature of this being “configuration”, it is not a "first contact” scenario. That is, this is much more like a script using `curl` than a user using a browser. >>> >>> >>> Thanks again! >>> Kent >>> >>> >> >> >> Mahesh Jethanandani >> mjethanandani@gmail.com >> >> >> >> >> >> > > -- > Mark Nottingham https://www.mnot.net/ > Mahesh Jethanandani mjethanandani@gmail.com
- [netconf] Francesca Palombini's Discuss on draft-… Francesca Palombini via Datatracker
- [netconf] Re: Francesca Palombini's Discuss on dr… Kent Watsen
- [netconf] Re: Francesca Palombini's Discuss on dr… Mark Nottingham
- [netconf] Re: Francesca Palombini's Discuss on dr… Kent Watsen
- [netconf] Re: Francesca Palombini's Discuss on dr… Mark Nottingham
- [netconf] Re: Francesca Palombini's Discuss on dr… Kent Watsen
- [netconf] Re: Francesca Palombini's Discuss on dr… Mahesh Jethanandani
- [netconf] Re: Francesca Palombini's Discuss on dr… Mark Nottingham
- [netconf] Re: Francesca Palombini's Discuss on dr… Mahesh Jethanandani
- [netconf] Re: Francesca Palombini's Discuss on dr… Francesca Palombini
- [netconf] Re: Francesca Palombini's Discuss on dr… Kent Watsen
- [netconf] Re: Francesca Palombini's Discuss on dr… Mark Nottingham