Re: Resumable Uploads

Martin Thomson <martin.thomson@gmail.com> Fri, 19 April 2013 18:12 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
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 6892321F95F1 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 19 Apr 2013 11:12:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[AWL=4.000, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Sax9oxIb1d8J for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 19 Apr 2013 11:12:03 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id A544B21F8F00 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 19 Apr 2013 11:12:03 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UTFl6-0004Nm-AJ for ietf-http-wg-dist@listhub.w3.org; Fri, 19 Apr 2013 18:10:04 +0000
Resent-Date: Fri, 19 Apr 2013 18:10:04 +0000
Resent-Message-Id: <E1UTFl6-0004Nm-AJ@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <martin.thomson@gmail.com>) id 1UTFl2-0003JW-C7 for ietf-http-wg@listhub.w3.org; Fri, 19 Apr 2013 18:10:00 +0000
Received: from mail-wi0-f177.google.com ([209.85.212.177]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <martin.thomson@gmail.com>) id 1UTFl1-0002Zf-IM; Fri, 19 Apr 2013 18:10:00 +0000
Received: by mail-wi0-f177.google.com with SMTP id hj19so1213691wib.4 for <multiple recipients>; Fri, 19 Apr 2013 11:09:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=xLZvcZEURiXAISwstKrkq/cXijo4Od98asfwWE7olZc=; b=Cw9SI1C/eaU3ce0E76/mqAUD+knycUmeKrTRyEZDwcjfTDioNrY9NOPcT8Q/hBp9yX RqkHZgSSCVK7gNKXTYPtSji1KBh/nI3quAYDwXxR+5CLtg4CDdZ4lEXUyN4YenbgBYR5 ZuV8Xs1cHXrwm098WX4T9oGtfBG3ira+UK0lhqN315+b0z6q2G9ivZIoNDz+JPlO9CBb g1PVXDsxX/8Sd1ZOdApKU+Mx2xjlBjgASHypC53yGrjdUE3As/dIgq0w1s/0x0mKRP/J NT3IqxsJDx+AGq+GtPfj9n77PgNTkx/0NImqEmZydClP3F98x21eup9eIKpGrK7WPqX7 3p6A==
MIME-Version: 1.0
X-Received: by 10.194.109.227 with SMTP id hv3mr27574962wjb.32.1366394973189; Fri, 19 Apr 2013 11:09:33 -0700 (PDT)
Received: by 10.194.33.102 with HTTP; Fri, 19 Apr 2013 11:09:33 -0700 (PDT)
In-Reply-To: <alpine.DEB.2.00.1304191335410.3525@tvnag.unkk.fr>
References: <CADZbJ9dYFGyrceh03M3B0KdKto7160Dis_geh9um0BhVe1re0g@mail.gmail.com> <alpine.DEB.2.00.1304182006001.21288@tvnag.unkk.fr> <29DE6A70-E3B9-4DCE-8C7E-506F6A0ADC92@gmail.com> <51706F32.5030108@panix.com> <5170E2A3.6010706@gmx.de> <CADZbJ9dGEVq-fQmhjRsddYdcg459r_zLfrOddkzHLOprZM0dNg@mail.gmail.com> <51712A49.6000901@gmx.de> <alpine.DEB.2.00.1304191335410.3525@tvnag.unkk.fr>
Date: Fri, 19 Apr 2013 11:09:33 -0700
Message-ID: <CABkgnnVFW5zkH-0eY=iyDuFAF9Ua6+4NL26KMP5Nf-cqxmXLJw@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
To: Daniel Stenberg <daniel@haxx.se>
Cc: Julian Reschke <julian.reschke@gmx.de>, Felix Geisendörfer <felix@transloadit.com>, Albert Lunde <atlunde@panix.com>, Kevin Swiber <kswiber@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>, Yves Lafon <ylafon@w3.org>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=209.85.212.177; envelope-from=martin.thomson@gmail.com; helo=mail-wi0-f177.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-2.696, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1UTFl1-0002Zf-IM 69582659d684570c30a9e0838dede970
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Resumable Uploads
Archived-At: <http://www.w3.org/mid/CABkgnnVFW5zkH-0eY=iyDuFAF9Ua6+4NL26KMP5Nf-cqxmXLJw@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17365
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: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

This is certainly interesting work.  I find that HTTP uploads are too brittle.

One thing that I'd like to get a better understanding of is the
situation that lead to the need for resumption.

Is it the case that you have a PUT (or some other request) that was
interrupted in some way?  Establishing expectations on server behavior
with respect to that request is probably more important than
concentrating on the subsequent repair request.

--Martin

p.s., Content-Range and PUT don't appear to be the right choice,
though it might be possible if the server was able to indicate support
prior to the interruption.  A 1xx response might work; 100-continue
seems like a good place to indicate this, though it might be crazy to
tie the fate of this to something that is endangered as it is.

On 19 April 2013 04:42, Daniel Stenberg <daniel@haxx.se> wrote:
> On Fri, 19 Apr 2013, Julian Reschke wrote:
>
>> "An origin server SHOULD reject any PUT request that contains a
>> Content-Range header field (Section 4.2 of [Part5]), since it might be
>> misinterpreted as partial content (or might be partial content that is being
>> mistakenly PUT as a full representation).
>
>
> This explanation basically rules out PUT completely for upload resume, as
> even if this would instead be done with an imaginary new header called
> Partial-update-of-remote-thing-please:, it could also become subject of
> getting handled as a full representation by mistake.
>
> And if PATCH is ruled out because how browser APIs, I guess only POST is
> left.
>
> (I personally don't think limitations in existing APIs are a very good
> arguments though, as we're surely forced to update things - including APIs -
> to take advantage of this once we agree on how things should work.)
>
>
>> If you believe that this is unreasonable, now and here are the right place
>> to discuss it.
>
>
> My personal belief used to be that Content-Range was a suitable header for
> this purpose, back with the original RFC2616 wording. With the updated
> httpbis wording it is clear that Content-Range doesn't work for this.
>
> --
>
>  / daniel.haxx.se
>