Re: Resumable Upload draft updates

Rob Sayre <sayrer@gmail.com> Fri, 26 July 2024 20:06 UTC

Received: by ietfa.amsl.com (Postfix) id 8CA13C14F689; Fri, 26 Jul 2024 13:06:21 -0700 (PDT)
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 8BE3DC14F60E for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 26 Jul 2024 13:06:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.857
X-Spam-Level:
X-Spam-Status: No, score=-2.857 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, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_ZEN_BLOCKED_OPENDNS=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=w3.org header.b="lsDs+spQ"; dkim=pass (2048-bit key) header.d=w3.org header.b="Am1i2nEZ"; dkim=pass (2048-bit key) header.d=gmail.com header.b="Xvz6KM+i"
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 PGKnMVudeJ8d for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 26 Jul 2024 13:06:20 -0700 (PDT)
Received: from mab.w3.org (mab.w3.org [IPv6:2600:1f18:7d7a:2700:d091:4b25:8566:8113]) (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 BE99FC14F600 for <httpbisa-archive-bis2Juki@ietf.org>; Fri, 26 Jul 2024 13:06:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Subject:Content-Type:Cc:To:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To; bh=6IgP4lPcx4IZ8B9E1od33Iy1saqP6zePpUJBnVDoYbg=; b=lsDs+spQsR+11ACcaCUoctJAxJ jMhXzJfI030rB7dANDQwBbqobaPeFxgAHXPppVyYCqM94VusJ8RFo8Hy1Rqr0ITPtweiD0N0W3qV1 1MjH4DVP15AqtZeWZrLuyzXU22AFyzRoiMymph6gqWRyq5+qxgJq+07b5iSTFVO28UQeWV3FnG9yA hQi6Z3wB9dVa+d1JqxnNFhj9zoHXHkKUGw0cD3ykp6FuhKBrLYlHcfze+DBeRuHEL+GYUMKSNmPq3 R7T9UlbZ1jPIxcw9e3SWU0dh1bz7SMvmrcpmxVklAIOjyML2uNUwvISRVehWwJoJQT1c4VRi35Sr2 wJOd3WVA==;
Received: from lists by mab.w3.org with local (Exim 4.96) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1sXRBm-00ACg2-0D for ietf-http-wg-dist@listhub.w3.org; Fri, 26 Jul 2024 20:05:18 +0000
Resent-Date: Fri, 26 Jul 2024 20:05:18 +0000
Resent-Message-Id: <E1sXRBm-00ACg2-0D@mab.w3.org>
Received: from ip-10-0-0-224.ec2.internal ([10.0.0.224] helo=puck.w3.org) by mab.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <sayrer@gmail.com>) id 1sXRBk-00ACf3-2A for ietf-http-wg@listhub.w3.internal; Fri, 26 Jul 2024 20:05:16 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To; bh=6IgP4lPcx4IZ8B9E1od33Iy1saqP6zePpUJBnVDoYbg=; t=1722024316; x=1722888316; b=Am1i2nEZZ3rEDNZBL0ZiaGoOH/DF8YjtE1P/wGzbaudKOY6IC6RFcLzsz5r3vzUEkJKEYmKAHg9 Q7na5ZtcP2Eij8QvoS8lD9zcgj29asPpgwyD7aCfoSdONQ75jrWjvvQpJEl6HwQSeww+IXALKYBmP ob/QtsdqGHhDtMsQtEatJ+t7QNZSd4Rf2gQ8gAO3TGauf8Vsgusx2sdT79kmXJ6O5oR8C++/turUm ojsTo85qIdiRuiXv1rzz3LlXS/PtkKr/SR2wZBHo+jVb5qmmic0h0gvRBVd63g2xvoK5ytUrbVOQo ySgkmDJ0nzYCtNjOWtDiRom1kwGabDeiO1/Q==;
Received-SPF: pass (puck.w3.org: domain of gmail.com designates 2a00:1450:4864:20::629 as permitted sender) client-ip=2a00:1450:4864:20::629; envelope-from=sayrer@gmail.com; helo=mail-ej1-x629.google.com;
Received: from mail-ej1-x629.google.com ([2a00:1450:4864:20::629]) by puck.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from <sayrer@gmail.com>) id 1sXRBj-004ufw-2w for ietf-http-wg@w3.org; Fri, 26 Jul 2024 20:05:16 +0000
Received: by mail-ej1-x629.google.com with SMTP id a640c23a62f3a-a7a83a968ddso262527166b.0 for <ietf-http-wg@w3.org>; Fri, 26 Jul 2024 13:05:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722024312; x=1722629112; darn=w3.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=6IgP4lPcx4IZ8B9E1od33Iy1saqP6zePpUJBnVDoYbg=; b=Xvz6KM+iuvMWQeIvgOEIyQ3pjKpvdhCI/QYKIDmF6DXsAJ3BnrH+zws1oVk22CzU39 8JXCvpxdHA6EViow1J7HG60UArYi2mcYPZbbAXeHb4tmk0dJlpoMiVxXeFSpisL/7B78 eAd4e84nVlWmGHkCUagfT21/KWlK7pkVgk8/D42F70MVCFV1PVcEWWhdoyaDko/53NRX IWz+DGxfjM8meZDQkY3a0uH1O+IVXGpmT9BOoCofNK2RuYJ/wPLk6qdculLp0n72EREH KiAJTbXhz0zAH5l2w/nYPJYthu8/WUfMhelSdew1Xj4+FTEG4NUYkmRa6usaoQD+QL5K RfMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722024312; x=1722629112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=6IgP4lPcx4IZ8B9E1od33Iy1saqP6zePpUJBnVDoYbg=; b=IP9wodipNpk/4HkQePn3fvuwbvLY29Qu/XDYwBFUQCOSEizWKyCBrkFwfNFsenD/Mz MjZvEsV5NGHrIGrjv21bjGkr/rTdx3WTq561vRqt6hDSfdfvBST2jjBO+5GgDRV5IRSn R6h4i+l8rPJzPkw4UveYL/FI1G6KMuAzSqv1m220XM2YYoUqIwwzw/Eafm4MmOOWX3mS grenXPmS2Lt1rbfqmk193bhZKt3Qc9A/Eub41qCaXEyHDlqtgkd0KIqILO4+oGz5FWK3 tpPp+0IO8IGobhFgCdqP9W4GEct7X1JQR3HnqX4/1HCKPG4GTKeQht2kJRmD+vqmh3vx GZKQ==
X-Forwarded-Encrypted: i=1; AJvYcCWM3Ndqc7/ot7MzFi4ZtNOzwCNU3rq5XA4rL1XWWL4vw1AEHsTAZiw4aCyKJy8pzyI7nUb6Yb/pOtaCwOtqoWUAltJ6
X-Gm-Message-State: AOJu0YyEw0q5UmCYWAOgRYoTePvQkcFrvrA3m/Kv31EBUcrqbntxM/7N tiQt5XD1Wc+dbue5E1LwVBNwyPF7i77jniunq8eeSQJ5FhAw5NyPQI+NPDxl9CHdVhHT+RT7f1Z T9qY90vPumlw1h+Rg+S90n3FR2QQ=
X-Google-Smtp-Source: AGHT+IHivtK4P2IX+wmm/pxBJuTTx0euh8+PJweMKoyldNm+Tkjg5JDcjoau4Q1nQHJlKY+QODySbcQ52h7m84SioSE=
X-Received: by 2002:a17:907:d18:b0:a77:e2e3:354d with SMTP id a640c23a62f3a-a7d3ffa3102mr30097666b.23.1722024311299; Fri, 26 Jul 2024 13:05:11 -0700 (PDT)
MIME-Version: 1.0
References: <CAChr6Szm_5j1p9QKdTN3mjvEvQ-JwcPT1Y8XeOPqGu25DwBijQ@mail.gmail.com> <CANY19NsOhrTb6ZSKWyd-0Fo+Ac+1f_vH3y1BxTCCOPPAhYCDcA@mail.gmail.com> <CAChr6Swto1ZTU7vvCOEMHcqayHwVNZuwxGyBXTHmxbAZas_y3Q@mail.gmail.com> <08d10095-ba78-435a-852c-d5dd13a86f08@app.fastmail.com> <CAChr6SyZ7TJQG3R==xUZ-r_TeC5EcDGUDLuE9sKjTcixJyPfGw@mail.gmail.com>
In-Reply-To: <CAChr6SyZ7TJQG3R==xUZ-r_TeC5EcDGUDLuE9sKjTcixJyPfGw@mail.gmail.com>
From: Rob Sayre <sayrer@gmail.com>
Date: Fri, 26 Jul 2024 13:04:59 -0700
Message-ID: <CAChr6SzHsctGpJNanSDvYYGFyWp-gDQs-ef-BLYiXdNqzG_kpw@mail.gmail.com>
To: Lucas Pardue <lucas@lucaspardue.com>
Cc: Marius Kleidl <marius@transloadit.com>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="0000000000005eb3bf061e2c0768"
X-W3C-Hub-DKIM-Status: validation passed: (address=sayrer@gmail.com domain=gmail.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-4.1
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, DMARC_PASS=-0.001, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: puck.w3.org 1sXRBj-004ufw-2w 646201774de74eb027bd881347f93dd0
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Resumable Upload draft updates
Archived-At: <https://www.w3.org/mid/CAChr6SzHsctGpJNanSDvYYGFyWp-gDQs-ef-BLYiXdNqzG_kpw@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/52149
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>

(top-quoting myself)

I looked at the minutes and the open GitHub issues.* No strong objections
at all, especially if the authors have deployed something similar. The
concerns about up-front digests almost never matter in practice, because
the network is way slower than just calculating the hash on the disk that
is local. Someone will always pipe up about their "resource constrained
device" here, but that might require a different protocol. Trying to
accommodate every kind of device isn't a requirement.

Sometimes, you can't predict the whole file, as with streaming uploads of
videos. Then, you just do chunk integrity checks, as the end of the file is
indeterminate anyway.

I tried it on a ~170MB MP4 file I had:

% ls -l Downloads/dnb.MP4
-rw-r--r--@ 169842846 Nov 27  2021 Downloads/dnb.MP4
% shasum -a 256 Downloads/dnb.MP4
4badd94953d0364e8d44d63d5f252a08bf9e453cf8717c67fbf236f9f44c1986
 Downloads/dnb.MP4
% time shasum -a 256 Downloads/dnb.MP4
4badd94953d0364e8d44d63d5f252a08bf9e453cf8717c67fbf236f9f44c1986
 Downloads/dnb.MP4
shasum -a 256 Downloads/dnb.MP4  0.54s user 0.03s system 99% cpu 0.576 total

Seems accurate. The SHA256 did seem to take about a half second.

thanks,
Rob

* https://github.com/httpwg/http-extensions/labels/resumable-upload

On Thu, Jul 25, 2024 at 1:19 PM Rob Sayre <sayrer@gmail.com> wrote:

> On Thu, Jul 25, 2024 at 12:58 PM Lucas Pardue <lucas@lucaspardue.com>
> wrote:
>
>> Integrity using standardized  HTTP digests is described in
>> https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-resumable-upload-04#name-integrity-digests.
>> Integrity for parts, or whole is covered by the Content-Digest or
>> Repr-Digest.
>>
>> During the standardisation of RFC 9530, we did a survey and found many of
>> these upload services tend to use the Content-MD5 field to some extent,
>> which is sad because it was obsoleted by RFC 7231 due to implementation
>> inconsistencies.
>>
>
> Ah, ok. I didn't know that one got finished. This sounds like a fine
> approach. Here's the Amazon way (for other readers, sounds like the authors
> have made an informed decision):
>
>
> https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
>
> Not necessarily MD5, but it can be. I think a lot of those applications
> don't really care about standardization, because they expect people to use
> their client SDKs anyway.
>
> thanks,
> Rob
>
>
>