[httpapi] Byte Range PATCH with incorporated feedback

Austin William Wright <aaa@bzfx.net> Wed, 07 June 2023 01:06 UTC

Return-Path: <aaa@bzfx.net>
X-Original-To: httpapi@ietfa.amsl.com
Delivered-To: httpapi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4161CC151071 for <httpapi@ietfa.amsl.com>; Tue, 6 Jun 2023 18:06:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.096
X-Spam-Level:
X-Spam-Status: No, score=-7.096 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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 (1024-bit key) header.d=bzfx.net
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 BTlLU5uWqS6g for <httpapi@ietfa.amsl.com>; Tue, 6 Jun 2023 18:06:46 -0700 (PDT)
Received: from mail-pg1-x535.google.com (mail-pg1-x535.google.com [IPv6:2607:f8b0:4864:20::535]) (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 687ADC151060 for <httpapi@ietf.org>; Tue, 6 Jun 2023 18:06:46 -0700 (PDT)
Received: by mail-pg1-x535.google.com with SMTP id 41be03b00d2f7-54290603887so2884153a12.1 for <httpapi@ietf.org>; Tue, 06 Jun 2023 18:06:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bzfx.net; s=google; t=1686100005; x=1688692005; h=to:date:message-id:subject:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=y3e9NXlArB/UJ9ztjlQDHRorgydpxFNv92qOu2KE1MM=; b=5JgCWBHCCNhxpRbFXR8MMfoD9jwxx4rJOMwaQ5oWUusew1HEcWJ64tiqQt+n3qaRFj Q8gidcidiY2uWqUM8FknCyknjwiwZ+vpWpmGigSMPABEpdEzbCmrMfvPp+rPpq65to94 ldXV238pC0aj/3xhU8XMmRD1ryVzIDFvibf20=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686100005; x=1688692005; h=to:date:message-id:subject:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=y3e9NXlArB/UJ9ztjlQDHRorgydpxFNv92qOu2KE1MM=; b=Yz0MFWvcuMl69YWhA64aegtbeDPCLr+Vcp3yc2UWnNNfPY61oAcwHTgiQsvvKO7DPI wUpJewMkPISXdIExKsAc+gdZ3dO3y+pidw5ZyYAODlJsfnT6osMf31/GjKJImqaRtrOF bvJMq/O3oGY6cJrMuyZYL+kcIZH1WbRPqUOPao7tx/mttxFPFxnhSZJ4vLKnWLRkUFED 4n28Z6P7dnBqd/vRRNeKBRzoMKI2JObpzhX+j7cDwiZ2gcI8taAuOOUoUmDyz4F+8rlM 5w7sDwntIesFZR/05LKyB/XLrps39JYh7PgUM102M5thsUuJJQF2yHUxNXFgZri9PcDa 630A==
X-Gm-Message-State: AC+VfDwHTEWUoKCJSPFFqKJpr+5OyvLrk9zsweRplmkt2YwbGaM9ivDN jEPvPUUsbCp7mOQVW64pM3PdC4QX5Ss2JkjmHt4=
X-Google-Smtp-Source: ACHHUZ6sbPQs0ipHZZZNQaPwq0wfw5Ca/jd+XGsEwcKFFSeXDX2nVZ+BAT0qBz1CYxUTCycs+Msb7Q==
X-Received: by 2002:a17:903:22ce:b0:1b2:4e00:a3a9 with SMTP id y14-20020a17090322ce00b001b24e00a3a9mr265968plg.41.1686100005161; Tue, 06 Jun 2023 18:06:45 -0700 (PDT)
Received: from smtpclient.apple (71-223-146-188.phnx.qwest.net. [71.223.146.188]) by smtp.gmail.com with ESMTPSA id b6-20020a170903228600b001a9873495f2sm9143807plh.233.2023.06.06.18.06.42 for <httpapi@ietf.org> (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Jun 2023 18:06:42 -0700 (PDT)
From: Austin William Wright <aaa@bzfx.net>
Content-Type: multipart/alternative; boundary="Apple-Mail=_A7EE6968-946F-47A6-A41A-031C316CC87D"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.3\))
Message-Id: <A1CC5D1D-3BF2-4B2F-895D-115B8D0D8EBF@bzfx.net>
Date: Tue, 06 Jun 2023 18:06:40 -0700
To: HTTP APIs Working Group <httpapi@ietf.org>
X-Mailer: Apple Mail (2.3696.120.41.1.3)
Archived-At: <https://mailarchive.ietf.org/arch/msg/httpapi/r1onUwBtKODj17raGL3SHqMNvXw>
Subject: [httpapi] Byte Range PATCH with incorporated feedback
X-BeenThere: httpapi@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Building Blocks for HTTP APIs <httpapi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/httpapi>, <mailto:httpapi-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/httpapi/>
List-Post: <mailto:httpapi@ietf.org>
List-Help: <mailto:httpapi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/httpapi>, <mailto:httpapi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jun 2023 01:06:51 -0000

Hello HTTP APIs,

I published a new draft of the Byte Range PATCH I-D that I presented at IETF 116, for consideration for adoption: https://www.ietf.org/archive/id/draft-wright-http-patch-byterange-03.html <https://www.ietf.org/archive/id/draft-wright-http-patch-byterange-03.html>

Thanks for the warm response at the meeting.

I’ve incorporated feedback from the meeting, mostly clarifying or emphasizing features; and also a couple of ideas that I’ve thought of since, while working on an implementation. First, during the meeting I speculated there should be a header to specify if requests should be atomic or not, so I also added a Preference for this. (I think I could improve the terms I picked, and would welcome suggestions for something else.) And second, I added a short discussion that the patch should be able to truncate a document, since this is a simple operation, and would permit reversing an “append” operation.

For the curious, I put together a demo where you can load any HTTP resource (CORS permitting), then edit it, and preview or submit a patch that describes just the changes: https://awwright.github.io/http-progress/demo-patch-byterange-server/client.xhtml <https://awwright.github.io/http-progress/demo-patch-byterange-server/client.xhtml>

Thanks,

Austin Wright.