Draft for Resumable Uploads

Hello HTTP working group,

we are all familiar with connectivity disruptions affecting our
internet activities. One example is when a large file download is
interrupted; say a 100 MB file download encounters a network loss
after the client receives 70 MB. Fortunately, resumable HTTP downloads
using range requests are a widely deployed standard feature that
allows clients to fetch the remaining 30 MB only, saving time and
resources for both endpoints. However, in the opposite direction,
there is not a standard convention for resuming HTTP uploads.

Across the HTTP ecosystem there are several different approaches to
providing resumable uploads. We are aware of at least one attempt to
try and standardize an approach [1], but to our knowledge none have
succeeded in being adopted and driven to conclusion.

We believe resumable uploads are a common problem and that there is
value in a standard resumable upload approach. We've been working on a
document [2] [3] that uses HTTP to solve what we believe to be the
core problem set, while also allowing for extended use cases. We are
bringing this to the list to understand if there is interest in the
working group to solve the problem, and whether our document is a good
basis for a solution.

In case you are interested in the background of this draft: The origin
is within the tus project [4], which has been developing a HTTP-based
protocol for resumable uploads [5] since 2013 (tus was also posted on
this mailing list at the time [6]). Furthermore, we also provide
various open-source implementations [7] to allow easy usage on the
web, in mobile applications, desktop application, or server
environments. tus has seen great adaption, proving that there is a
demand for an open-source solution providing resumable uploads.

We hope to bring resumable uploads to more people. For this, adopting
resumable uploads into HTTP would be a great step. There is also
interest in including support for resumable uploads natively into
platforms, like browsers and mobile SDKs, so that developers do not
have to bring their own library for resumable uploads.

We have taken the main uploading process from our tus protocol and
reworked it into a self-containing draft, which we want to present to
you! As such, this draft can be seen as an evolution of our work on
tus and as a step to increase availability of resumable uploads.

Thank you for any feedback in advance!

Best regards,
Marius Kleidl

[1] https://lists.w3.org/Archives/Public/ietf-http-wg/2019JulSep/0066.html
[2] https://datatracker.ietf.org/doc/draft-tus-httpbis-resumable-uploads-protocol/
[3] https://github.com/tus/tus-v2
[4] https://tus.io/
[5] https://tus.io/protocols/resumable-upload.html
[6] https://mailarchive.ietf.org/arch/msg/httpbisa/I__B5Kc7h-1TvRRB9rmjY8tR-T0/
[7] https://tus.io/implementations.html

Received on Friday, 1 April 2022 10:31:49 UTC