Re: [dispatch] Fw: Re: Proposal for Per Resource Events Protocol

Michael Toomim <toomim@gmail.com> Sun, 13 August 2023 05:18 UTC

Return-Path: <toomim@gmail.com>
X-Original-To: dispatch@ietfa.amsl.com
Delivered-To: dispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B8F37C151717 for <dispatch@ietfa.amsl.com>; Sat, 12 Aug 2023 22:18:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.195
X-Spam-Level:
X-Spam-Status: No, score=-2.195 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, NICE_REPLY_A=-0.091, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=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=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 BGexqqixEMJY for <dispatch@ietfa.amsl.com>; Sat, 12 Aug 2023 22:18:31 -0700 (PDT)
Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B8E0DC151709 for <dispatch@ietf.org>; Sat, 12 Aug 2023 22:18:31 -0700 (PDT)
Received: by mail-pg1-x530.google.com with SMTP id 41be03b00d2f7-565331f1c9eso1898492a12.1 for <dispatch@ietf.org>; Sat, 12 Aug 2023 22:18:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691903911; x=1692508711; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=Srr0jJt9HXCNr4h9nCMiUFvyew79kwDrULZbUST8pKQ=; b=Ml3N0YMO78UnfJmS6955wh7ZmxnpV0zS8Aw+ZzRiMm6ChzJ3x0to6A+rSb/vkqpBS5 nRWS611R1ihcSoByUo6VG0/PHXlSKJu6UF0DjAycGWkgKn8yRF6ot5SjltcG2iOpGLmE XVq8IWU7BkLDXaCTPDXtOTZRz6wq/05zbuXR8ioti+rLy/03gvRkyYx7J0KclWEzuan3 CX88z7EsKPB20xQdHUHs3T4UVbVAXpEFS+i2gaB1Z8O87fDLi9MCrq2JuZcvPU8YVipr SpD+TJ3vp5fMPJiJF4oEGnmDQty3pjXUjfsujow7frKTnaEH2Fk7JE8hmLPA2RbhvDGv oxaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691903911; x=1692508711; h=in-reply-to:from:references:to:content-language:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=Srr0jJt9HXCNr4h9nCMiUFvyew79kwDrULZbUST8pKQ=; b=jK80fjQeKnuff/5BTpsQbx21B2rI9MCIEvJZnov2yAAJ2RG0pVnLNvAJ1Jsu1b62WJ dSZjZ/YM7fCD6vxNYrwusu7G2IE65I3vvSQp18vSYO9aCxlBh4XAL4F2YvUyf3nkXA8P BGBi17uiRj72W0OOi52Rzwa3vG4/uC/9dihymlkSZqIJRBQlTTeRYzNGcPoZzIUoJ6r3 vZgxjhgFaMhQFjw24SDHc/JYS9HBt3o/3wSOgPxqi5TR0tUOyXFoAAOfnV98esHFzOwt wLdHGcAD4eYTFW6q4Sx7qrPUsNr56VDGpVC/LYQydZKLGcHRDbfXtTCYiHmhzlnNkOx8 oYAw==
X-Gm-Message-State: AOJu0Ywv0+w/v/aQvsEd/aXCRICW18aqZShOCnArdNiZ0JW41lZuNI5e eBFEHGS9A8ZXiVHVcggJqvkABsUBHBg=
X-Google-Smtp-Source: AGHT+IE82tk15H5FX3vdL4ByvkzWoJW6W+/QkFnGKt0fdDDlf1fTGQ1G4t4QSGJ09vfqKiFl33uiOQ==
X-Received: by 2002:a17:90b:204:b0:268:5575:93d9 with SMTP id fy4-20020a17090b020400b00268557593d9mr4176899pjb.10.1691903910650; Sat, 12 Aug 2023 22:18:30 -0700 (PDT)
Received: from ?IPV6:2600:380:7030:69f1:f97e:308:8f68:544? ([2600:380:7030:69f1:f97e:308:8f68:544]) by smtp.gmail.com with ESMTPSA id ei23-20020a17090ae55700b00262e604724dsm7594940pjb.50.2023.08.12.22.18.29 for <dispatch@ietf.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 12 Aug 2023 22:18:30 -0700 (PDT)
Content-Type: multipart/alternative; boundary="------------CUR5jNkMuM5cXCTJl23NO0Md"
Message-ID: <73c86998-e6c4-65b2-a3c3-e087d466f36f@gmail.com>
Date: Sat, 12 Aug 2023 22:18:28 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.14.0
Content-Language: en-US
To: dispatch@ietf.org
References: <878ralz3o1.fsf@hobgoblin.ariadne.com> <x3e2-5CGGB-joUNy5Ujq053jsdnYpxL4xKIndQDQU0nwsRh5gyFoIEyTeKKogm3HwmyGzJKzDHdzUF5wA7QsFGDnQFG99Ay7tCkYp6ZztXc=@protonmail.com> <u_TYoNdCrXxqLdpuUO9JYeZ-YwcsaCrsGvLwsNsyZcdnEU_Y9HSaNmX5L8MzAVp2bVzO_w4AJ_ApvClM4os3Jjk-qgWx5UXpewT_06oXqUQ=@protonmail.com>
From: Michael Toomim <toomim@gmail.com>
In-Reply-To: <u_TYoNdCrXxqLdpuUO9JYeZ-YwcsaCrsGvLwsNsyZcdnEU_Y9HSaNmX5L8MzAVp2bVzO_w4AJ_ApvClM4os3Jjk-qgWx5UXpewT_06oXqUQ=@protonmail.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dispatch/XxCSbi60ovZfOP4FFzYdvLHXRxE>
Subject: Re: [dispatch] Fw: Re: Proposal for Per Resource Events Protocol
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dispatch/>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Aug 2023 05:18:35 -0000

On 8/8/23 10:37 PM, Rahul Gupta wrote:
>> Why not use a new method rather than overloading GET? For instance
>> SUBSCRIBE is already used in SIP with approximately the semantics you
>> want. Using a separate method would ensure that caches, etc. could
>> treat subscription requests specially; by default, they wouldn't cache
>> them at all.
> GET is simpler as it is the default method for Fetch. There is already a precedent for changing the semantics of GET, for example, with the Range header (RFC9110, section 14.2) which already works well with caching.

This question came up in the design of Braid-HTTP 
<https://datatracker.ietf.org/doc/html/draft-toomim-httpbis-braid-http> 
as well, and we also chose to augment GET with subscription 
semantics—although the decision was controversial—because we want to 
preserve the other existing behavior of GET. The only thing we had to 
solve was the cache issue.

We address caches by returning a different response type: `209 
Subscription` instead of `200 OK`, and adding a `Cache-Control no-cache, 
no-transform` header. Discussion is here 
<https://github.com/braid-org/braid-spec/issues/16>.

MNot also suggested using "non-final" 1xx response codes in 
https://www.mnot.net/blog/2022/02/20/websockets#extending-http, which 
would be quite interesting to explore.