Re: [core] Stateless proxy and Request-Tag

'Christian Amsüss' <christian@amsuess.com> Thu, 31 October 2019 14:50 UTC

Return-Path: <christian@amsuess.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1AA95120908 for <core@ietfa.amsl.com>; Thu, 31 Oct 2019 07:50:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.499
X-Spam-Level:
X-Spam-Status: No, score=-1.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, KHOP_HELO_FCRDNS=0.399, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=no autolearn_force=no
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 J2JgJvjgGkOL for <core@ietfa.amsl.com>; Thu, 31 Oct 2019 07:50:53 -0700 (PDT)
Received: from prometheus.amsuess.com (alt.prometheus.amsuess.com [IPv6:2a01:4f8:190:3064::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 921131208AF for <core@ietf.org>; Thu, 31 Oct 2019 07:50:53 -0700 (PDT)
Received: from poseidon-mailhub.amsuess.com (095129206250.cust.akis.net [95.129.206.250]) by prometheus.amsuess.com (Postfix) with ESMTPS id 227F346D08; Thu, 31 Oct 2019 15:50:52 +0100 (CET)
Received: from poseidon-mailbox.amsuess.com (hermes.amsuess.com [10.13.13.254]) by poseidon-mailhub.amsuess.com (Postfix) with ESMTP id 9C1A136; Thu, 31 Oct 2019 15:50:51 +0100 (CET)
Received: from hephaistos.amsuess.com (unknown [IPv6:2a02:b18:c13b:8010:6d78:bd47:b07:7e5c]) by poseidon-mailbox.amsuess.com (Postfix) with ESMTPSA id 63B177A; Thu, 31 Oct 2019 15:50:51 +0100 (CET)
Received: (nullmailer pid 12026 invoked by uid 1000); Thu, 31 Oct 2019 14:50:48 -0000
Date: Thu, 31 Oct 2019 15:50:48 +0100
From: 'Christian Amsüss' <christian@amsuess.com>
To: Jim Schaad <ietf@augustcellars.com>
Cc: Core WG mailing list <core@ietf.org>
Message-ID: <20191031145048.GB25593@hephaistos.amsuess.com>
References: <20191031133656.GA17667@hephaistos.amsuess.com> <009101d58ff6$22d85f70$68891e50$@augustcellars.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="K8nIJk4ghYZn606h"
Content-Disposition: inline
In-Reply-To: <009101d58ff6$22d85f70$68891e50$@augustcellars.com>
User-Agent: Mutt/1.12.2 (2019-09-21)
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/MWWwy5R5DimChR3HhlAp6JXzEnw>
Subject: Re: [core] Stateless proxy and Request-Tag
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 31 Oct 2019 14:51:02 -0000

> Isn't this the ETag not Request-Tag?

This is about the server knowing which response to send back out. In the
later phase of a Block1+2 operation, there is neither Block1 nor a
payload sent with the requests that pull out the rest of the response
body. The server, in the proxy-less case, would rely on the endpoint to
know which operation those belong to, and would need a Request-Tag to
tell them apart.

A stateless proxy couldn't tell whether those later Block2 come from the
tail of a Block1+2 operation or from a Block2-only one, so it would send
a Request-Tag.

(I originally thought it could tell that it's not definitely not a
Block1+2 follow-up if there is a non-empty payload in the Block2:>0
requests, but reading RFC7959 Section 2.4 again -- is there, at all?
There's no example of a non-zero-but-non-block1-either exchange in the
spec; "the requester may retrieve additional blocks of the resource
representation by sending further requests with the same options as the
initial request and a Block2 Option giving the block number and block
size desired" but doesn't tell about payload. I feel I should know that
for certain but am embarassed I don't).

KR
c

-- 
To use raw power is to make yourself infinitely vulnerable to greater powers.
  -- Bene Gesserit axiom