Re: Resumable Upload draft updates
Michael Toomim <toomim@gmail.com> Thu, 25 July 2024 11:15 UTC
Received: by ietfa.amsl.com (Postfix) id B0D03C18DBBB; Thu, 25 Jul 2024 04:15:58 -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 B016BC18DBB8 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 25 Jul 2024 04:15:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.859
X-Spam-Level:
X-Spam-Status: No, score=-2.859 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] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=w3.org header.b="fnq8wgR8"; dkim=pass (2048-bit key) header.d=w3.org header.b="AEnY5QhK"; dkim=pass (2048-bit key) header.d=gmail.com header.b="fZPetdth"
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 oT-Zf3h2E6oH for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 25 Jul 2024 04:15:58 -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 DC16CC18DB8E for <httpbisa-archive-bis2Juki@ietf.org>; Thu, 25 Jul 2024 04:15:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Subject:In-Reply-To:From:References:Cc:To:MIME-Version:Date: Message-ID:Content-Type:Reply-To; bh=ZBxpMUJrpfrBVFPwh3n1D6vjvUOVhOWiZ/nP9ojXrd8=; b=fnq8wgR8rKcygT0u28GYdajAwQ ImZ5/n4EtFlKlTU1ggrDwt7nRj+qWurDr0z7yw6qgzXAurmKUIrImiSsEq3Buhs0h+0CA0dCfPY+u DDAqfvxbDvUbHaYPJoeZxdiYtyikfPyCvBDFIE+VY7FUxatAQMZrUIMTCbbtwbRBxTV6FE5J5Dwyv GSW3fLrdQYVpxYoKg/il2SVH1YKWeNf+zUyNKEQRwDHxtC/HBA+fr5qpmFvFkhsmWawYqs7ftbTqa Wd2hYqWAJYY+26AUv4aSZdbrFlr1a130I57Cr3yZpUIrBfDljDP65jxhU0CuoYbXjpcnfzmviAc1y TYY5qFGg==;
Received: from lists by mab.w3.org with local (Exim 4.96) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1sWwRI-006otx-38 for ietf-http-wg-dist@listhub.w3.org; Thu, 25 Jul 2024 11:15:16 +0000
Resent-Date: Thu, 25 Jul 2024 11:15:16 +0000
Resent-Message-Id: <E1sWwRI-006otx-38@mab.w3.org>
Received: from ip-10-0-0-144.ec2.internal ([10.0.0.144] helo=pan.w3.org) by mab.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <toomim@gmail.com>) id 1sWwRG-006osw-1y for ietf-http-wg@listhub.w3.internal; Thu, 25 Jul 2024 11:15:14 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date: Message-ID:Content-Type:Reply-To; bh=ZBxpMUJrpfrBVFPwh3n1D6vjvUOVhOWiZ/nP9ojXrd8=; t=1721906114; x=1722770114; b=AEnY5QhKuCZXtIdwLGD8tlo9jaN7lqBqQ7pnmHGmVQV5oVB0P8J7e9lToithohUDbK6tdeHPvma Qtunip05mql+8PUtXF64mav5yWugk+OjtODQ228AY+5qas3hBI4x3fYnbjwwUKajr8T3cv4Dks4Py dXdnG2Pi3KNT/qRtFJopOoW8M8BAM8mrIdn2SHPy9NVJZ31oiDou3jXmKzyfPXQDZLiLaCoWwMJCp TUriiq84yK8ioobFVI/rTducZoGNy6IYa0yv842/L4+lvV/QYChv1kH2AMfXZpuRKZCZcdHe+Nfaj iAlRAnrlIQ7+qmvAOe7qia8VUZUjujgrZksQ==;
Received-SPF: pass (pan.w3.org: domain of gmail.com designates 2607:f8b0:4864:20::1029 as permitted sender) client-ip=2607:f8b0:4864:20::1029; envelope-from=toomim@gmail.com; helo=mail-pj1-x1029.google.com;
Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]) by pan.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from <toomim@gmail.com>) id 1sWwRF-00CmG4-39 for ietf-http-wg@w3.org; Thu, 25 Jul 2024 11:15:14 +0000
Received: by mail-pj1-x1029.google.com with SMTP id 98e67ed59e1d1-2cd48ad7f0dso684170a91.0 for <ietf-http-wg@w3.org>; Thu, 25 Jul 2024 04:15:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721906110; x=1722510910; darn=w3.org; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=ZBxpMUJrpfrBVFPwh3n1D6vjvUOVhOWiZ/nP9ojXrd8=; b=fZPetdthRpHsLQ39otBt5J5WuSWHB+PirlzsqmKDfM4kLN+JkRj/wyxfcmBWVZ4xdz ysLMQPLr2234qyLOLP7DvLuRI10iFxB89RYrzL1KBo3yPqIsKVThi02oJPA7z03Km5iX qmctiZAmJDbeMI8m5W37ipTPRn37EUKnHooLaSc8CgH/GNkV7Gg86cswjOq69hsDbVpm QWGh7qr5q5ddB6ZaDpn7BX0eMmnWyYa8N9YorSKJornZRwal9pO4oCCRqengOra8BaS/ 7fw+Klr4O1AralLQef4/w67dr3RTTcmlbttfStEmiIza2/wf0Z8Sni9um1zadPSJ6NpX p7BQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721906110; x=1722510910; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ZBxpMUJrpfrBVFPwh3n1D6vjvUOVhOWiZ/nP9ojXrd8=; b=tuoCPjGvoAY3E48yZByhkhVSoyfqYy4xD5QTyGyneSSHV/veharNIo4+RaKwXoVZHJ v765xvy50jbZFHnSI+x5yDYytex3aDKSo3HalXqyX+1c2rsa8THTZ30LszkwXNpB6PsB dlZ3lOpOcG4D4RosyLp2I3YAAOd0q+0JkyFADZ/eDWv8paLirfXIQx2n7HjRkMKqfaPH /WiPqc3C23doqUJ4yeKyWwebPRhW9VXwamWJmw9DDOS7cl/FKppSLSdFj/7bIPBJo9k6 +O77+1VSG5gGkUOUDwUaTinVhwq6xCbYuSptSF42/LD/RXcKA922b2fDdRfVdTl8lVhC PY0A==
X-Gm-Message-State: AOJu0Yz37ZDMjTsMFG2MaRge7JwgABJHXR2WPSneQM10AIVyeOmbLRi8 JeShOG4gYnajYS2+a2Rh9MtQr8H75Nh7rQ4P8mNzrcyFlobAgB2lEdb3ch5QNSs=
X-Google-Smtp-Source: AGHT+IFvRGcjC13FqYPepX3n96dMxjBM2quMJpNqRVCV00B/XFhPQ35TvSvBJq5khzEEvif8gs9fLQ==
X-Received: by 2002:a17:90b:128a:b0:2c9:8891:e12a with SMTP id 98e67ed59e1d1-2cf2ea29bc9mr1629437a91.23.1721906109761; Thu, 25 Jul 2024 04:15:09 -0700 (PDT)
Received: from [172.31.7.130] ([207.194.231.35]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2cdb73afe30sm3321198a91.13.2024.07.25.04.15.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Jul 2024 04:15:09 -0700 (PDT)
Content-Type: multipart/alternative; boundary="------------mLXPeq8Bku0ZeU4BXZOvcPpv"
Message-ID: <efb367a4-2abe-4daa-b94c-f0a62a3415ae@gmail.com>
Date: Thu, 25 Jul 2024 04:15:08 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Marius Kleidl <marius@transloadit.com>
Cc: ietf-http-wg@w3.org
References: <CANY19Ns76du=x04xtejdRrdNT2Lq_=5Huo5oH_KQ9qg5bAO89A@mail.gmail.com> <29911fc7-cfa3-4ea4-8ee0-822781060fa5@gmail.com> <CANY19Nt5XSjNguTY2poHvdLQF7p=TAEb1hX1p=ZS2siMCf-U0Q@mail.gmail.com>
Content-Language: en-US
From: Michael Toomim <toomim@gmail.com>
In-Reply-To: <CANY19Nt5XSjNguTY2poHvdLQF7p=TAEb1hX1p=ZS2siMCf-U0Q@mail.gmail.com>
X-W3C-Hub-DKIM-Status: validation passed: (address=toomim@gmail.com domain=gmail.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-5.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, W3C_AA=-1, W3C_DB=-1, W3C_WL=-1
X-W3C-Scan-Sig: pan.w3.org 1sWwRF-00CmG4-39 20ab2757d3710ec8f49a40999c2f9562
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Resumable Upload draft updates
Archived-At: <https://www.w3.org/mid/efb367a4-2abe-4daa-b94c-f0a62a3415ae@gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/52134
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>
Marius, these are excellent questions! I am answering them inline below:
> 1. What is the parent version of a resource that a client is uploading
> to? Requests have to set this header to ensure they are appending at
> the correct offset, but I am wondering what parent version would be
> included in responses to HEAD requests. The example responses in
> section 3.3 always use the 0 byte count.
Ah, yes... Well, the parent header is actually redundant in that case—
so I'm removing it from the example.
There, I think this
<https://github.com/braid-org/braid-spec/commit/9e9485cdd4d2adcb0e7898b13919b06dc12ec496>
is clearer now. How about you?
> 2. Can a client upload from a streaming data source without knowing
> the entire file size upfront? Is the including of the Current-Version
> header mandatory when starting an upload?
To best-support streaming resources of unknown length, we could
articulate more into the Version-Type. For instance, we could define a
special version ID called "end" that signals the end of a bytestream.
Then the initial request might look like this:
PUT /something
Current-Version: "end"
Version-Type: bytestream
Content-Length: 900
<binary data of length 900>
Then the client could break up the file into multiple requests, e.g. by
choosing a smaller number than 900 above, like you ask here:
> 4. Does the method allow the client to split an upload across multiple
> requests? In our experience, servers can have an upper limit on the
> size of a single request, which requires a client to split an upload
> and send multiple consecutive requests to transfer the entire file.
Good question! I had to think on my feet to answer this one. :)
Finally, as for Content-Range:
> 3. The example request for case B in section 3.3.2 includes the
> Content-Range header, which appears redundant. Does its value carry
> additional information that is not covered by Parents, Current-Version
> or Content-Length?
You're right that this is redundant information, but it might be useful
for a Proxy that doesn't understand the bytestream version-type. It
could still cache this range of the file! That's one of the cool things
about re-using other headers and concepts. :)
These are such illustrative questions! It's really nice talking to other
people who think about these things. :) Thanks for doing so!
Michael
- Resumable Upload draft updates Marius Kleidl
- Re: Resumable Upload draft updates Marius Kleidl
- Re: Resumable Upload draft updates Michael Toomim
- Re: Resumable Upload draft updates Michael Toomim
- Re: Resumable Upload draft updates Michael Toomim
- Re: Resumable Upload draft updates Marius Kleidl
- re: Resumable Upload draft updates Rob Sayre
- Re: Resumable Upload draft updates Marius Kleidl
- Re: Resumable Upload draft updates Rob Sayre
- Re: Resumable Upload draft updates Lucas Pardue
- Re: Resumable Upload draft updates Rob Sayre
- Re: Resumable Upload draft updates Rob Sayre