Httpdir early review of draft-ralston-mimi-protocol-02

Mark Nottingham via Datatracker <noreply@ietf.org> Wed, 13 March 2024 03:18 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=ietf.org@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 1EFECC14F6B9 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 12 Mar 2024 20:18:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.756
X-Spam-Level:
X-Spam-Status: No, score=-7.756 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, 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=w3.org header.b="nVRSlm0B"; dkim=pass (2048-bit key) header.d=w3.org header.b="J7lltJ7B"
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 kr4RbRBaATwi for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 12 Mar 2024 20:18:39 -0700 (PDT)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E1149C14F5FD for <httpbisa-archive-bis2Juki@ietf.org>; Tue, 12 Mar 2024 20:18:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Subject:Date:Reply-To:Message-ID:Cc:To:From:Content-Type:MIME-Version :In-Reply-To:References; bh=6qOj1MMeCRprt8SYWhf11cPOkyRvXsawloiHmUrY+bQ=; b=n VRSlm0BFboQMHnXLA/dppAk6mAv4ZmWZIO1ZGNb6PIVathM8Q0CjQwkf0YBNvOeZDGa76xbvXgbzp Ih/G9YkZxaGs7o9UbUjMJvs6kki6aZNWhJglO/0FFg+AbVJCir9EqdWAFxWrRerePk+LtD8rEpeXK LNRjmFPYWoqQjiYRQlm260rSXbUWVRZJaTw1Ex38WVBGU8kkjjiHZwFIpzNCskIgA957P+qNdCywb E0snjq1Ou4bdp/YUVw4x3eBK9VGEINLv8KkxtY3zPzu6hONz1yGonpIgJcvp1hyzg+E7NbjmWhmXO tdcpIrirxGZw8bUX4qGXSXUSvrsEe/p3A==;
Received: from lists by lyra.w3.org with local (Exim 4.94.2) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1rkF6j-003uHR-O9 for ietf-http-wg-dist@listhub.w3.org; Wed, 13 Mar 2024 03:16:45 +0000
Resent-Date: Wed, 13 Mar 2024 03:16:45 +0000
Resent-Message-Id: <E1rkF6j-003uHR-O9@lyra.w3.org>
Received: from puck.w3.org ([34.196.82.207]) by lyra.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <noreply@ietf.org>) id 1rkF6d-003uG8-JH for ietf-http-wg@listhub.w3.org; Wed, 13 Mar 2024 03:16:39 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Date:Reply-To:Message-ID:Subject:Cc:To:From:Content-Type:MIME-Version :In-Reply-To:References; bh=6qOj1MMeCRprt8SYWhf11cPOkyRvXsawloiHmUrY+bQ=; t=1710299799; x=1711163799; b=J7lltJ7Bg1j9oYTRU1BjOhwT3mpFRN09N78WTXhasTylA43 HPt/9l9NxAbRJcm3/csHvHLRULovv6kWEJFx0s9H7akkSNSmTevc+XM/jltRLrBS/cO5Y4MpsdqZ1 xlYDvZEeeWns/34ikthKHv12+Dre4eDm3UqKQtfqrRmCa/SjFOmqfYuJlUdgy+dFyCKHtgKAK3aRr l88PIA5qWWgcBJhCXMJE3tOZZO2ICwjbZgSKbLrIywTmq3B7tuG0lqbow1Fxs8+KRo4ggIT6Z9hXb s+tE+keI8N5tPVqEnpscrKAv5m7WG81EPvDlwfYSV+H8+qIquhdz4PNCvUaLn5gA==;
Received-SPF: pass (puck.w3.org: domain of ietf.org designates 50.223.129.194 as permitted sender) client-ip=50.223.129.194; envelope-from=noreply@ietf.org; helo=mail.ietf.org;
Received: from mail.ietf.org ([50.223.129.194]) by puck.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <noreply@ietf.org>) id 1rkF6c-007OyV-2J for ietf-http-wg@w3.org; Wed, 13 Mar 2024 03:16:39 +0000
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 079C1C14F6F4; Tue, 12 Mar 2024 20:16:35 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Mark Nottingham via Datatracker <noreply@ietf.org>
To: ietf-http-wg@w3.org
Cc: draft-ralston-mimi-protocol.all@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 12.8.0
Auto-Submitted: auto-generated
Message-ID: <171029979501.21064.11203011573485026514@ietfa.amsl.com>
Reply-To: Mark Nottingham <mnot@mnot.net>
Date: Tue, 12 Mar 2024 20:16:35 -0700
X-W3C-Hub-Spam-Status: No, score=-3.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DMARC_PASS=-0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: puck.w3.org 1rkF6c-007OyV-2J b583e86fff40a8be1a179398c60cdf7e
X-Original-To: ietf-http-wg@w3.org
Subject: Httpdir early review of draft-ralston-mimi-protocol-02
Archived-At: <https://www.w3.org/mid/171029979501.21064.11203011573485026514@ietfa.amsl.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/51875
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: <https://www.w3.org/email/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Reviewer: Mark Nottingham
Review result: On the Right Track

This is an early HTTP Directorate review. See our review guidlines at
<https://httpwg.org/admin/directorate/>.

I understand that this document is still changing rapidly and not yet complete;
by undertaking an early review, we hope to be able to point out issues, promote
discussion, and give feedback before they become too difficult to change.

My main feedback is that I wonder about the resource modelling of a room in
this protocol; just as in object oriented programming, HTTP interface design is
largely about figuring out how to model the components of your program.

In the example well-known file, rooms are parameters to operations, rather than
operations being performed on rooms. I wonder (but don't know) if there has
been a lost opportunity here -- e.g., to GET the state of a room, its
participants, and so forth.

I understand that the cryptographic requirements of MIMI make modelling things
as GETs is more difficult here, but it does seem that features like negotiation
(for acceptable ciphersuites and capabilities) _might_ leverage or extend
already-existing HTTP mechanisms, rather than being embedded in
application-specific payload parameters.

This is food for thought, more than anything; I'm happy to have a chat with the
authors about potential ways they could get more value out of using HTTP.

Other things I noticed (all relatively minor, except for perhaps the first):

* I don't see any discussion of why a new 'mimi' URI scheme is required. See
<https://www.rfc-editor.org/rfc/rfc9205.html#name-considering-uri-schemes>.

* 4.1 seems to refer to HTTP as a 'transport layer'. Besides the
transport/application split, HTTP is a _transfer_ protocol; characterising it
as a transport is turning it into a "tunnel", which is not using the protocol
well (unless that's the specific intent, e.g., like MASQUE). I'd suggest using
terminology more carefully here, because some in the community are sticklers
for this.

* 4.1 states that the 'target provider is indicated using a Host header'. This
is specified at the wrong layer of abstraction -- you probably want to use
terminology like 'the target URI's authority', or connect it to the origin
concept (RFC 9110 section 4.3.1).

* Don't reuse the From header like this; it's not interoperable. Use an
application-specific one. Don't call it From-Host; make it specific to _your_
application unless it's genuinely reusable in other applications.

* Section 5.2 and following subsections don't specify content types for
requests or responses.

* See <https://httpwg.org/admin/editors/style-guide> for guidlines about
editing HTTP-related specifications (especially examples; having some
on-the-wire examples would be very helpful).