Resumable Upload draft updates

Marius Kleidl <marius@transloadit.com> Fri, 19 July 2024 00:12 UTC

Received: by ietfa.amsl.com (Postfix) id 95A5DC1519A3; Thu, 18 Jul 2024 17:12:01 -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 94F61C151998 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 18 Jul 2024 17:12:01 -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, 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=w3.org header.b="o2eSbyLk"; dkim=pass (2048-bit key) header.d=w3.org header.b="nT8KWrxd"; dkim=pass (1024-bit key) header.d=transloadit.com header.b="eoA54l2y"
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 HGo0Aws-YNUt for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 18 Jul 2024 17:11:57 -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 C0B12C14F5E4 for <httpbisa-archive-bis2Juki@ietf.org>; Thu, 18 Jul 2024 17:11:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Subject:Content-Type:To:Message-ID:Date:From:MIME-Version:Cc:Reply-To :In-Reply-To:References; bh=nbi7/Q8v1uTRv/PY37ivlGkTGHa9ZLn7YSfI3B+hups=; b=o 2eSbyLkS/b+f9aftjm8NVhzFTYzd3noe5BeyUErZYawKRQCbgF+hAOJG/YQQDMzfjTVwOJLmc7LUu u3kmdjMpta8gJ3IGUFJX2Wiak6umooRgjn+zGXrJyNpKHIz6SER5pdD1mMqiwLwuGRgt3uMw7v6Yk VQaYd8WD3feNVUn0d1xhDS08luBGUDDu7BalQuKcYjC4tgnCzBW70FiK+6zbbSk+M3cBI6SuP43cj mMYidN2goGNoNsLP2k69LVWuBTFfktzcuFenjcrkoB/wK4oK86w5bkYWNzjqmeNR+sxCH0Qdemumi bZdsMheqnXKpYICAOpzw38jHSQ/1b9riA==;
Received: from lists by mab.w3.org with local (Exim 4.96) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1sUbD5-0093uq-1R for ietf-http-wg-dist@listhub.w3.org; Fri, 19 Jul 2024 00:10:55 +0000
Resent-Date: Fri, 19 Jul 2024 00:10:55 +0000
Resent-Message-Id: <E1sUbD5-0093uq-1R@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 <marius@transloadit.com>) id 1sUbD2-0093tw-0G for ietf-http-wg@listhub.w3.internal; Fri, 19 Jul 2024 00:10:52 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Content-Type:To:Subject:Message-ID:Date:From:MIME-Version:Cc:Reply-To :In-Reply-To:References; bh=nbi7/Q8v1uTRv/PY37ivlGkTGHa9ZLn7YSfI3B+hups=; t=1721347852; x=1722211852; b=nT8KWrxdqMq+XnQJSPQhD0LTV1hmlQwM+VUtyllSrOfCcqJ RDhbbLt7OyZcWM6oVkLW2GcavcrVCDXPsHN6u2gzt/nqc9dSlH51aBu+iaRKh2p89Mlpc4grz7T9Y yGert+E7o3pZMdGQcdAaZ1uV2l+mSr9eETEkPXAdJv4D72cm0gNKT7miMw1eyNkaLFwLD5tpaj68a jHNSBIkjJVCt981XwqCg2KhFk7Ciw4URqpGvtyIE+TrY8Dm3NVdx/kl4amZVU/Eew2vx4ZnmNKhum N9b6lg5VUiAYjyHTBUe6YvDZFUBUw3y7agacJX/zh1wEOQ+yurEOmBOylThoneog==;
Received-SPF: pass (puck.w3.org: domain of transloadit.com designates 2a00:1450:4864:20::442 as permitted sender) client-ip=2a00:1450:4864:20::442; envelope-from=marius@transloadit.com; helo=mail-wr1-x442.google.com;
Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]) by puck.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from <marius@transloadit.com>) id 1sUbD1-002BBe-1A for ietf-http-wg@w3.org; Fri, 19 Jul 2024 00:10:51 +0000
Received: by mail-wr1-x442.google.com with SMTP id ffacd0b85a97d-368380828d6so198650f8f.1 for <ietf-http-wg@w3.org>; Thu, 18 Jul 2024 17:10:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=transloadit.com; s=google; t=1721347847; x=1721952647; darn=w3.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=nbi7/Q8v1uTRv/PY37ivlGkTGHa9ZLn7YSfI3B+hups=; b=eoA54l2yQNHQUD1AbxftJa3gnQpWEOEY97nYdDgMXil3a0YXkyDOKUOrb9FnQUDmaX nmG82q6mhHOFwOcPOIPpE+ZIYedzQTs3iMgru4XuiZB5h0xLPB9ugtgZjhOv9o6Vlz4i +WRmAMhIcUHQ5FdJSmMMCJoSjdu8QAJcK5MOA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721347847; x=1721952647; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=nbi7/Q8v1uTRv/PY37ivlGkTGHa9ZLn7YSfI3B+hups=; b=PnfH6JEbS6XHPjAUPyHIAz4gsyCvduVW7KXh9mJClKGs+1sUc9K2DpAu+M4epes4sJ 74PayuboUXQ2pOBy97doZ2uUqcF4b8BI3G9bfC5wi9t1UNBxNIAddrhLW0UajcYmHyox FZfjdBb4kQugSyYHa1sdSLLwSiw2MzU4Ifb3tGHFbk1q/zzw3/n5G4I8XNs8Pr8t3Vue jC7+pnNIJHThzNkLE6QUlYRrHVTYzvN0xPzB0krRl4yPlo3Hmi5IjI6WG1nqeG8zSr87 QbKR8IYdwmbTuKP76deavrifEJY26C0gQJLs/JGDGS0jWNCMThbBNWUx46dqn+JMorkb Nvow==
X-Gm-Message-State: AOJu0Yw2efYd1iNM/z3XlKf60ARO7uN1YPtIu/3u92Cbe29kPMzaAuPB os7bQU5gmosNVLtR6G3ArEaDugZuK/fSt7nDDKmnb1QbqQpzVpo+Wtd0TZEUGZ+PDbjhzUVKTyO SHXhf8c5FGibfeWfSnvbSElKqMQ8meXoOtSRWjHj59ytR6yPe8yEDMbnJ
X-Google-Smtp-Source: AGHT+IFNjm9MyyCHimmxd6KtlZE/vu0sRJ/ahASYK4tqZ0MwxPFnoTjT/JIV6wSPkQDXi/bSC+qeaX83UCa7hQs0HGo=
X-Received: by 2002:a5d:5441:0:b0:368:37d5:3f2e with SMTP id ffacd0b85a97d-36837d53fdcmr3521739f8f.32.1721347847266; Thu, 18 Jul 2024 17:10:47 -0700 (PDT)
MIME-Version: 1.0
From: Marius Kleidl <marius@transloadit.com>
Date: Fri, 19 Jul 2024 02:10:36 +0200
Message-ID: <CANY19Ns76du=x04xtejdRrdNT2Lq_=5Huo5oH_KQ9qg5bAO89A@mail.gmail.com>
To: HTTP <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="000000000000f8be7c061d8e86bd"
X-W3C-Hub-DKIM-Status: validation passed: (address=marius@transloadit.com domain=transloadit.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, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: puck.w3.org 1sUbD1-002BBe-1A 019bcb858793e6f6d84bd9738167063b
X-Original-To: ietf-http-wg@w3.org
Subject: Resumable Upload draft updates
Archived-At: <https://www.w3.org/mid/CANY19Ns76du=x04xtejdRrdNT2Lq_=5Huo5oH_KQ9qg5bAO89A@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/52086
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>

Dear working group,

last week we published iteration -04 for the resumable upload draft [1],
which includes a number of useful additions:

   - The application/partial-upload media type for PATCH requests
   - Upload limits (max/min total size, max/min request size, upload
   expiration)
   - Guidelines for handling content and transfer codings
   - Guidelines for integrity checks using digest fields
   - Problem types for error responses

From our perspective as editors, the draft is shaping up well, but a few
small questions could still be addressed:


   1. The server announces the upload limits (e.g. for maximum size or
   minimum request size) only when the client creates a new upload resource.
   For the client it would also be useful to know these limits upfront before
   creating an upload. The client may then decide to not start an upload if it
   cannot obey the limits. Should we allow the client to send an OPTIONS
   request to retrieve the upload limits before creating a resource? [2]
   2. If an upload is spread across multiple requests (e.g. due to limits
   from intermediaries), the server only knows the upload length once the
   upload is completed. However, in many cases the client knows the length
   upfront and could indicate the length to the server, who can use this
   information to optimize the upload storage or reject the upload entirely.
   Should we add an advisory header to upload creation requests to indicate
   the upload length? The Upload-Complete header would still keep the
   authority for completing the upload. [3]
   3. A client may include integrity fields to send the expected digest for
   the upload to the server for later verification. This requires the client
   to know the digest upfront or transmit it later using trailers (which might
   not always be possible). Should we also provide a way for the client to
   request a digest from the server once the upload is complete? Then the
   client and server can compute the digest during the upload and the client
   can compare its digest to the server's. [4]

We are looking forward to discussing these points in the httpbis session on
Monday!

Best regards,
Marius Kleidl

[1]
https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-resumable-upload-04
[2] https://github.com/httpwg/http-extensions/issues/2833
[3] https://github.com/httpwg/http-extensions/issues/2832
[4] https://github.com/httpwg/http-extensions/issues/2834