Resumable Uploads
Felix Geisendörfer <felix@transloadit.com> Thu, 18 April 2013 17:38 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 8192721F8948 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 18 Apr 2013 10:38:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.676
X-Spam-Level:
X-Spam-Status: No, score=-9.676 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, 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 qV5DRMN4tSHz for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 18 Apr 2013 10:38:26 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id D0DE121F88E3 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 18 Apr 2013 10:38:25 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1USsmG-0005bH-Gu for ietf-http-wg-dist@listhub.w3.org; Thu, 18 Apr 2013 17:37:44 +0000
Resent-Message-Id: <E1USsmG-0005bH-Gu@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <ylafon@w3.org>) id 1USsmE-0005ZZ-Do for ietf-http-wg@listhub.w3.org; Thu, 18 Apr 2013 17:37:42 +0000
Received: from jay.w3.org ([128.30.52.169]) by lisa.w3.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <ylafon@w3.org>) id 1USsmE-00069c-CZ for ietf-http-wg@w3.org; Thu, 18 Apr 2013 17:37:42 +0000
Received: from ylafon by jay.w3.org with local (Exim 4.72) (envelope-from <ylafon@w3.org>) id 1USsmE-0002EO-7B for ietf-http-wg@w3.org; Thu, 18 Apr 2013 13:37:42 -0400
X-Return-path: <>
X-Received: from maggie.w3.org ([128.30.52.39]) by jay.w3.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.72) id 1USp27-0002pZ-Fn for ylafon@jay.w3.org; Thu, 18 Apr 2013 09:37:51 -0400
X-Received: from frink.w3.org ([128.30.52.56]) by maggie.w3.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.72) id 1USp27-0000It-By for ylafon@w3.org; Thu, 18 Apr 2013 13:37:51 +0000
X-Received: from lists by frink.w3.org with local (Exim 4.72) id 1USp27-0007dX-4P for ylafon@w3.org; Thu, 18 Apr 2013 13:37:51 +0000
Date: Thu, 18 Apr 2013 13:37:51 +0000
X-From_: felix.geisendoerfer@transloadit.com Thu Apr 18 13:37:48 2013
X-Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <felix.geisendoerfer@transloadit.com>) id 1USp24-0007bg-PP for ietf-http-wg@listhub.w3.org; Thu, 18 Apr 2013 13:37:48 +0000
X-Received: from mail-vb0-f54.google.com ([209.85.212.54]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <felix.geisendoerfer@transloadit.com>) id 1USp23-0000HV-18 for ietf-http-wg@w3.org; Thu, 18 Apr 2013 13:37:48 +0000
X-Received: by mail-vb0-f54.google.com with SMTP id w16so2389498vbf.27 for <ietf-http-wg@w3.org>; Thu, 18 Apr 2013 06:37:21 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:sender:x-originating-ip:from:date :x-google-sender-auth:message-id:subject:to:content-type :x-gm-message-state; bh=CT38Q/5zqsgezOHxZXreJKteC53BAPMRg6ibNXnjpyw=; b=AaaQi4Bp1NFC8kqHVKgzVOPv7WsN+T3zNzKSIh82ueogHhOj93mPK755sGV/vinIyu xbc70zAz9DD3WDx4hCGthwXmwt7ARX4uplvnvRqtoDMzHNgX82MeF88QTuzkH4f8iocQ CwohXSPI1iCk8mQ9fVfskvtrFzBNw0Ldhhoc79cxlHCUpf9fDURXz3CI8HObM3XAPHJH y1eiLbys6z1sWEBkE+l2R0NAx+NDAuxA8Jum7OWB4N6q20oLcqXLHr41QZYi/qI7AUGv DcEUPSLSJpwjJPlaiIa//l+Z3G3Y2/zq6679c/AfjzeIwqvqFZhYcsbY7HPLKY9rN9eT DZ4Q==
X-Received: by 10.58.224.101 with SMTP id rb5mr8307460vec.17.1366292240991; Thu, 18 Apr 2013 06:37:20 -0700 (PDT)
MIME-Version: 1.0
Sender: felix.geisendoerfer@transloadit.com
X-Received: by 10.58.15.165 with HTTP; Thu, 18 Apr 2013 06:36:59 -0700 (PDT)
X-Originating-IP: [91.64.81.5]
From: Felix Geisendörfer <felix@transloadit.com>
Old-Date: Thu, 18 Apr 2013 15:36:59 +0200
X-Google-Sender-Auth: OxlaVyH4lgEMqrQFQDPTUjMB5R0
Message-ID: <CADZbJ9dYFGyrceh03M3B0KdKto7160Dis_geh9um0BhVe1re0g@mail.gmail.com>
To: ietf-http-wg@w3.org
Content-Type: multipart/alternative; boundary="089e0117635faf3dc704daa2b3f8"
X-Gm-Message-State: ALoCoQmmrkkRiC5N1KM49JgabNZgHezp0UXzP423qCUc/8BAgms0qbTZn8O/gB+3NxeSxvoCCSc4
Received-SPF: none client-ip=209.85.212.54; envelope-from=felix.geisendoerfer@transloadit.com; helo=mail-vb0-f54.google.com
X-W3C-Hub-Spam-Status: No, score=-0.7
X-W3C-Hub-Spam-Report: HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7
X-W3C-Scan-Sig: maggie.w3.org 1USp23-0000HV-18 ec7dc3b4311e5b931b74fdb507386510
Old-X-Envelope-To: ietf-http-wg
X-DSPAM-Result: Innocent
X-DSPAM-Processed: Thu Apr 18 09:45:31 2013
X-DSPAM-Confidence: 0.9981
X-DSPAM-Improbability: 1 in 52869 chance of being spam
X-DSPAM-Probability: 0.0000
X-DSPAM-Signature: 516ff8fb108911684769271
ReSent-Date: Thu, 18 Apr 2013 13:37:38 -0400
ReSent-From: Yves Lafon <ylafon@w3.org>
ReSent-To: ietf-http-wg@w3.org
ReSent-Subject: [Moderator Action] Resumable Uploads
ReSent-User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
X-Original-To: ietf-http-wg@w3.org
Subject: Resumable Uploads
Archived-At: <http://www.w3.org/mid/CADZbJ9dYFGyrceh03M3B0KdKto7160Dis_geh9um0BhVe1re0g@mail.gmail.com>
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17341
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>
Hi, I'm interested in finding out how to perform resumable uploads over http while being compliant with existing specifications. The result of this work will be shared with the community to create interopable server/client software to simplify file uploading on the web. The first draft for this can be seen here [1]. I'm new to protocol authorship, so please forgive any ignorance you may see in my work. This is no attempt at competing with existing standards, I merely want to identify the relevant subsets of http and make them easy for people to implement. Anyway, here are the things I'm wondering about specifically: - How should a http client transfer a partial byte range of a given resource? Specifically: - Should the PUT or PATCH method be used? (neither seem fully appropiate according to my research) - What header should be used to indicate the transfered range for the upload? Julian Reschke pointed out that Content-Range may not be appropiate [2]. - What header should be used to indicate the received range of an interrupted upload? Ideally clients should be able to transfer multiple parts of a file using parallel requests (to fully utilize long fat pipes). This will require servers to indicate which parts of a file have previously been received. Another thing I'd like for servers, is to process partially received requests, otherwise small chunk sizes would have to be used for mobile which would lead to significant overhead. Thanks in advance for any insights you might be able to provide! [1]: http://www.tus.io/protocols/resumable-upload.html [2]: https://twitter.com/jreschke/status/324872511697326080 -- Felix Geisendörfer (felixge.de) Co-Founder, Transloadit (transloadit.com)
- Re: Resumable Uploads Felix Geisendörfer
- Re: Resumable Uploads Felix Geisendörfer
- Re: Resumable Uploads Ken Murchison
- Resumable Uploads Felix Geisendörfer
- Re: Resumable Uploads Daniel Stenberg
- Re: Resumable Uploads Kevin Swiber
- Re: Resumable Uploads Albert Lunde
- Re: Resumable Uploads Julian Reschke
- Re: Resumable Uploads Julian Reschke
- Re: Resumable Uploads Daniel Stenberg
- Re: Resumable Uploads Martin Thomson
- Re: Resumable Uploads Carsten Bormann
- Re: Resumable Uploads Daniel Stenberg
- Re: Resumable Uploads Martin Thomson
- Re: Resumable Uploads Nico Williams
- Re: Resumable Uploads Nico Williams
- Re: Resumable Uploads Mark Nottingham
- Re: Resumable Uploads Felix Geisendörfer
- Re: Resumable Uploads Yoav Nir
- Re: Resumable Uploads Ilari Liusvaara
- Re: Resumable Uploads Daniel Stenberg
- Re: Resumable Uploads Amos Jeffries
- Re: Resumable Uploads Mark Nottingham
- Re: Resumable Uploads Amos Jeffries
- Re: Resumable Uploads Felix Geisendörfer
- Re: Resumable Uploads Carsten Bormann
- Re: Resumable Uploads Carsten Bormann
- Re: Resumable Uploads Felix Geisendörfer
- Re: Resumable Uploads Carsten Bormann
- Re: Resumable Uploads Julian Reschke
- Re: Resumable Uploads Felix Geisendörfer
- Re: Resumable Uploads Carsten Bormann