Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a4008dae48f0a151

Jump to content

Draft:Tus (protocol)

From Wikipedia, the free encyclopedia
  • Comment: This submission reads like an advertisement, similar to an academic paper selling the protocol (WP:SOAPBOX). It should instead focus on the notability of the topic as demonstrated by independent, reliable coverage. For example, the section on "Development history" should become the basis for the lead and main content of the article. The references require clean up. I don't see any that look of high quality. Caleb Stanford (talk) 05:27, 10 February 2025 (UTC)


tus
Developed byTransloadit
IntroducedApril 2013 (2013-04) (version 0.1)
Websitetus.io

tus is an open protocol for resumable file uploads over HTTP. If an upload is interrupted, a tus client can ask the server how much of the file it has already received and send only the remainder.[1] It was initiated by Transloadit, a Dutch-German file-processing company. Version 0.1 was announced in April 2013, and version 1.0 was released in November 2015.[2][3][4]

History

[edit]

Transloadit developed tus for its own upload and file-conversion service and opened the specification to outside contributors on GitHub.[2] Vimeo's involvement began in 2013. Naren Venkataraman, then Vimeo's director of engineering, led the project, and Vimeo later dedicated one of its developers to it full-time.[5] Transloadit said the project was motivated by two problems: interrupted uploads, especially on mobile connections, and the lack of a shared open method for resuming them. At the time, services used their own incompatible approaches.[2][5] Version 1.0 was published on 16 November 2015.[4] Vimeo announced plans to adopt it,[2][5] and its API now documents tus as one of its upload methods.[6]

Protocol

[edit]

tus is layered on HTTP, and each upload is identified by its own URL on the server. In the core protocol, the client sends a HEAD request to learn the current offset, which is the number of bytes the server has stored. It then sends PATCH requests that append data from that offset.[1] Other functions are optional extensions: creating uploads, terminating them, checksums, expiration, and concatenation. Concatenation lets a client upload parts of a file in parallel and have the server combine them.[1][2]

Standardization

[edit]

Members of the tus community helped bring this work to the Internet Engineering Task Force (IETF). There, the HTTP Working Group adopted a resumable-upload draft titled "Resumable Uploads for HTTP", which states that tus v1 "inspired the early design" of its protocol. As of September 2026, it remained an Internet-Draft; its latest revision, -12, is dated July 2026.[7][8] At WWDC 2023, Apple introduced support in its URLSession networking API for resumable uploads based on an early version of this draft, starting with iOS 17. The server must also support the draft protocol.[9][10]

Use

[edit]

Two published reports describe deployments. The dREG science gateway, which processes sequencing data, adopted a tus-based upload scheme for files as large as hundreds of megabytes.[11] The Illinois Data Bank reported noticeably faster web uploads after implementing tus with an Amazon S3 back end. With its updated API and sample client, however, researchers encountered reliability problems with files larger than about 100 GB. The repository then added Globus for large transfers.[12]

References

[edit]
  1. 1 2 3 "Resumable upload protocol 1.0.x". tus.io. Retrieved 23 September 2026.
  2. 1 2 3 4 5 van Miltenburg, Olaf (20 February 2015). "Vimeo gaat 'resumable upload'-protocol van Nederlandse start-up gebruiken" [Vimeo to use 'resumable upload' protocol from Dutch start-up]. Tweakers (in Dutch). Archived from the original on 20 April 2026. Retrieved 23 September 2026.
  3. Geisendörfer, Felix (15 April 2013). "A protocol for resumable file uploads". tus.io. Retrieved 23 September 2026.
  4. 1 2 van Zonneveld, Kevin (16 November 2015). "tus 1.0 – Changing the future of file uploading". tus.io. Retrieved 23 September 2026.
  5. 1 2 3 Keane, Jonathan (16 November 2015). "Berlin-based Transloadit wants to fix broken file uploads once and for all, with support from Vimeo". Tech.eu. Retrieved 23 September 2026.
  6. "How to upload videos from a server". Vimeo Help Center. Retrieved 23 September 2026.
  7. Kleidl, Marius; Zhang, Guoye; Pardue, Lucas (6 July 2026). "Resumable Uploads for HTTP". Internet Engineering Task Force. Acknowledgments. draft-ietf-httpbis-resumable-upload-12. Retrieved 23 September 2026.
  8. "Resumable Uploads for HTTP: document history and status". IETF Datatracker. Internet Engineering Task Force. Retrieved 23 September 2026.
  9. Build robust and resumable file transfers (WWDC23 session video). Apple Inc. 2023. Retrieved 23 September 2026.
  10. "Pausing and resuming uploads". Apple Developer Documentation. Apple Inc. Retrieved 23 September 2026.
  11. Wang, Zhong; Christie, Marcus A.; Abeysinghe, Eroma; Chu, Tinyi; Marru, Suresh; Pierce, Marlon; Danko, Charles G. (22 July 2018). Building a Science Gateway For Processing and Modeling Sequencing Data Via Apache Airavata. Practice and Experience in Advanced Research Computing (PEARC '18). Section 3.2. doi:10.1145/3219104.3219141. PMC 6785190.
  12. Fallaw, Colleen; Schmitt, Genevieve; Luong, Hoa; Colwell, Jason; Strutz, Jason (14 June 2021). "Institutional Data Repository Development, a Moving Target". The Code4Lib Journal (51).
[edit]

Category:File transfer protocols Category:Hypertext Transfer Protocol